Machine vision robotic stud welder

ABSTRACT

The present disclosure teaches systems and methods for robotic welding of studs onto the surface of I-beams. These systems and methods will find industrial applicability in, for example, the steel erection industry.

FIELD OF THE INVENTION

This present invention relates generally to arc-welding equipment forwelding studs at predefined welding sites, and in particular torobotically-controlled stud welders which use machine vision to identifyand locate a welding site on a surface of a beam or girder and whichfurther automatically weld studs at these sites, and related methodstherefor.

BACKGROUND OF THE INVENTION

In steel erection projects, for example road construction andbridgebuilding, steel studs are typically manually placed onto thesurfaces of steel beams into ceramic ferrules, and then are welded inplace onto the beam. Conventional, manual techniques for feeding andaligning both studs and ferrules into collets are well known in the artand are disclosed, for example, in U.S. Pat. No. 5,130,510. This is aslow and arduous process that requires the worker to repeatedly bendover in order to first place the stud within a pre-positioned ferruleover a ground welding site on the beam, and then to weld the stud intoplace on the beam. The slow speed of this process increases constructiontime and costs, and leads to frequent worker injuries.

There is a need for improved welding systems that overcome these andother known drawbacks in the prior art.

BRIEF SUMMARY OF THE INVENTION

Additional aspects of the invention include:

Aspect 1: An apparatus for automatically welding studs on a surface of abeam at pre-marked welding sites located on the surface of the beam, thebeam having a longitudinal axis, the apparatus comprising: a carriagethat is operably configured to be moveable parallel to the longitudinalaxis of the beam; at least one imager connected to the carriage, theimager being operably configured to capture a plurality of images of thesurface of the beam as the carriage is being moved; at least one weldingassembly attached to the carriage, the at least one welding assemblybeing in data communication with the computer and being moveablerelative to the location of the carriage; and a computer in datacommunication with the at least one imager and the at least one weldingassembly, the computer being operably configured to identify at leastone pre-marked welding site that is located on the surface of the beamin one or more of the plurality of images and to determine the locationof the at least one pre-marked welding site relative to the location ofthe carriage and relative to the location of the at least one weldingassembly; wherein the computer is operably configured to command the atleast one welding assembly to automatically place and weld a stud to thesurface of the beam at the at least one pre-marked welding site.

Aspect 2: The apparatus of Aspect 1, wherein a position of the at leastone imager is adjustable relative to the location of the carriage.

Aspect 3: The apparatus of Aspect 1, wherein a position of the at leastone imager is fixed relative to the location of the carriage.

Aspect 4: The apparatus of any of Aspects 1-3, wherein a centerline of afield of view of the at least one imager is not oriented orthogonal tothe surface of the beam.

Aspect 5: The apparatus of any of Aspects 1-4, further comprising amoveable plate having a cutout compartment through which the at leastone imager captures the plurality of images of the surface of the beam.

Aspect 6: The apparatus of Aspect 5, wherein the at least one weldingassembly accesses the surface of the beam through the cutoutcompartment.

Aspect 7: The apparatus of any of Aspects 1-6, further comprising a studfeeding assembly that is operably configured to repeatedly feed studs tothe at least one welding assembly, the stud feeding assembly comprisingat least one stud tube that is oriented at an oblique angle with respectto the surface of the beam, the at least one stud tube being sized tohold a plurality of studs therein.

Aspect 8: The apparatus of Aspect 7, the stud feeding assembly furthercomprising a plate having a stud slot located therein, the plate beinglocated adjacent to a bottom end of the at least one stud tube, theplate being adjustable between first and second positions, wherein inthe first position the stud slot is located adjacent to the bottom endof the at least one stud tube and aligned with the at least one studtube and wherein in the second position the stud slot is not alignedwith the at least one stud tube.

Aspect 9: The apparatus of Aspect 8, wherein the at least one stud tubecomprises a plurality of stud tubes, each of the stud tubes beingoriented at an oblique angle with respect to the surface of the beam andbeing arranged parallel to each other.

Aspect 10: The apparatus of Aspect 9, wherein the plurality of studtubes are arranged in a circumferential relationship such that arespective bottom end of each of the plurality of stud tubes can berotated into alignment with the stud slot located in the plate when theplate is in its first position.

Aspect 11: The apparatus of any of Aspects 1-10, further comprising astud feeding assembly that is operably configured to repeatedly feedstuds to the at least one welding assembly, the stud feeding assemblycomprising at least one stud tube that is oriented at a non-orthogonalangle with respect to the surface of the beam, the at least one studtube being sized to hold a plurality of studs therein.

Aspect 12: The apparatus of any of Aspects 1-11, wherein the weldingassembly is separately moveable along three linear axes.

Aspect 13: A method for automatically welding studs on a surface of abeam at pre-marked welding sites located on the surface of the beam, thebeam having a longitudinal axis, the method comprising: instructing acarriage to move parallel to the longitudinal axis of the beam, thecarriage having at least one imager attached thereto, the imager beingoperably configured to automatically capture a plurality of images ofthe surface of the beam as the carriage is moving; instructing the atleast one imager to capture the plurality of images of the surface ofthe beam and communicate image data regarding the plurality of images toa computer, the computer being in data communication with the at leastone imager and at least one welding assembly that is attached to thecarriage, the computer being operably configured to identify at leastone pre-marked welding site that is located on the surface of the beamin one or more of the plurality of images and to determine the locationof the at least one pre-marked welding site relative to the location ofthe carriage and relative to the location of the at least one weldingassembly; and instructing the at least one welding assembly to place andweld a stud to the surface of the beam at the at least one pre-markedwelding site.

Aspect 14: The method of Aspect 13, further comprising providing atleast one light source to the surface of the beam as the at least oneimager is capturing the plurality of images.

Aspect 15: The method of Aspect 14, wherein the step of providing atleast one light source to the surface of the beam as the at least oneimager is capturing the plurality of images further comprises providingthe at least one light source at an angle that is non-orthogonal to thesurface of the beam.

Aspect 16: The method of Aspect 14, wherein the step of providing atleast one light source to the surface of the beam as the at least oneimager is capturing the plurality of images further comprises providingat least two light sources to the surface of the beam, wherein each ofthe light sources of the at least two light sources is provided at anangle that is non-orthogonal to the surface of the beam.

Aspect 17: A stud feeding assembly for automatically feeding weldingstuds to a weld area, the stud feeding assembly comprising: a top plate;a bottom plate opposing the top plate, the bottom plate having a cutouttherein; and a plurality of stud tubes located between the top plate andthe bottom plate, each of the stud tubes having a top opening and abottom opening and being sized to hold a plurality of welding studstherein; wherein the respective bottom end of each of the plurality ofstud tubes can be individually moved into alignment with the cutoutlocated in the bottom plate such that a welding stud located in therespective stud tube can pass through the cutout, whereas welding studslocated in the other one or more stud tubes of the plurality of studtubes cannot simultaneously pass through the bottom plate.

Aspect 18: The stud feeding assembly of Aspect 17, wherein the pluralityof stud tubes comprises at least three stud tubes located in acircumferential arrangement around a centerline of the plurality of studtubes, wherein the centerline passes through the longitudinal center ofthe plurality of stud tubes.

Aspect 19: The stud feeding assembly of any of Aspects 17-18, whereinthe plurality of stud tubes is manually adjustable such that therespective bottom end of each of the plurality of stud tubes isindividually moveable into alignment with the cutout.

Aspect 20: The stud feeding assembly of any of Aspects 17-19, whereinthe plurality of stud tubes is electronically adjustable such that therespective bottom end of each of the plurality of stud tubes isindividually moveable into alignment with the cutout.

Aspect 21: The apparatus of any of Aspects 17-20, wherein the pluralityof stud tubes are longitudinally oriented at a non-orthogonal angle withrespect to a planar surface of the weld area.

Aspect 22: The apparatus of Aspect 21, further comprising a rotatableplate having a stud slot therein that is sized to accommodate theplacement of a stud therein, the rotatable plate being moveable betweenfirst and second positions; wherein in the first position the stud slotis located adjacent to the respective bottom end of at least one studtube of the plurality of stud tubes and aligned with the at least onestud tube and; wherein in the second position the stud slot is notaligned with the at least one stud tube.

Aspect 23: The apparatus of Aspect 22, wherein in the second positionthe stud slot is oriented at an orthogonal angle with respect to theplanar surface of the weld area.

Aspect 24: The apparatus of Aspect 22, wherein the rotatable plate ismoveable between the first and second positions via extension andretraction of an extension and retraction device that is attached to therotatable plate.

Aspect 25: The apparatus of Aspect 24, wherein the extension andretraction device is extended and retracted automatically via ahydraulic valve.

Aspect 26: An apparatus for welding a stud onto the surface of a beam,the surface being planar and lying in a first plane, the surface havinga longitudinal axis, the apparatus comprising: a carriage that isoperably configured to be moveable parallel to the longitudinal axis ofthe beam, the carriage having a frame that lies in a second plane as itis moved parallel to the longitudinal axis; a stud placement and weldingassembly that is connected to the carriage in an orthogonal relationshipto the second plane when the stud placement and welding assembly is in ahome position; and a leveling assembly attached to the stud placementand welding assembly, wherein when the second plane is not parallel tothe first plane, the leveling assembly reorients the stud placement andwelding assembly away from the home position so that the stud placementand welding assembly is placed in an orthogonal relationship to thefirst plane.

Aspect 27: The apparatus of Aspect 26, wherein the leveling assemblycomprises a motor and a linear actuator, the linear actuator having anextendable and retractable rod that is attached to the stud placementand welding assembly, wherein when the second plane is not parallel tothe first plane, the motor drives the linear actuator to extend orretract the rod in order to bring the stud placement and weldingassembly into an orthogonal relationship to the first plane.

Aspect 28: A method for aligning a stud in an orthogonal relationship toa planar top surface of a beam, the stud having a cylindrical shaft, themethod comprising: charging an electromagnet assembly so that it hasmagnetic properties, the electromagnet assembly comprising anelectromagnet and a half-tubular portion that mates with the cylindricalshaft of the stud; moving the electromagnet assembly into contact withthe cylindrical shaft of the stud so that the stud is picked up by theelectromagnet assembly in an orientation in which the cylindrical shaftof the stud is aligned with the half-tubular portion; and moving theelectromagnet assembly and attached stud so that a bottom end of thecylindrical shaft of the stud is placed in contact with the planar topsurface in an orthogonal relationship to the planar top surface.

Aspect 29: An apparatus comprising: a support arm; a ferrule holding armattached to the support arm that holds a ferrule in place on top of apre-ground welding site located on a surface of a beam, the ferruleholding arm having a solenoid and an extendable plunger attachedthereto; wherein the solenoid is operably connected to the plunger tocause the plunger to come into contact with and fracture the ferrulewhen a signal is sent to the solenoid to extend the plunger.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is best understood from the following detailed descriptionwhen read in connection with the accompanying figures. It is emphasizedthat according to common practice the various features of the inventionshown in the figures may not be to scale. On the contrary, for purposesof clarity, the dimensions of the various features of the inventionshown in the figures may be arbitrarily expanded or reduced. The machinevision robotic welding system, and related methods therefor, are furtherdescribed with reference to the accompanying drawings, in which:

FIG. 1 is a diagrammatic top view of a first embodiment of a roboticwelding system according to the present invention, having a rail-guidedwelding carriage that is moveable along the longitudinal axis of aconventional I-beam;

FIG. 2 is a diagrammatic rear view of the rail-guided welding carriageof the robotic welding system according to the present invention,illustrating additional components of the welding carriage and inparticular the placement of an imager with respect to the I-beam;

FIG. 3 is a side view of a conventional welding stud having a head,shank, and welding bottom surface;

FIG. 4 is a side view of one of two welding stations which is mountedonto the top surface of the welding carriage of the robotic weldingsystem, further illustrating a welding stud loading mechanism thereof;

FIG. 5 is an expanded side view of the stud loading mechanism thereof,showing a stud collet, stud alignment arm, and ferrule holding arm;

FIG. 6 is a schematic block diagram illustrating components of anembodiment of the robotic welding system according to the presentinvention;

FIG. 7 is a schematic block diagram illustrating components of acomputer of the preferred embodiment of the robotic welding system shownin FIG. 6;

FIG. 8 is a block diagram of the data memory of the computer thereof;

FIG. 9 is a block diagram of the welding site coordinate table of thedata memory of the preferred embodiment of the robotic welding systemshown in FIG. 8;

FIG. 10 is a perspective top view of the I-beam illustrating weldingsites that have been defined on the surface of the I-beam, and showingwelding sites both with and without ferrules located thereon;

FIG. 11 is an imager plan view of the top surface of the I-beam,illustrating the image of two conventional ground welding sites and theedges of the I-beam;

FIG. 12 is an imager plan view of the top surface of the I-beam,illustrating the image of two welding sites, one site having a ferruleplaced on top of the welding site, and the edges of the I-beam;

FIGS. 13A-13E, in combination, is an operational flow chart of apreferred embodiment of the robotic welding system according to thepresent invention;

FIG. 14 is a top view of a second embodiment of a robotic welding systemaccording to the present invention positioned longitudinally over anI-beam having a plurality of defined welding sites;

FIG. 15 is a side view thereof, with the robotic welding system locatedon a corrugated surface, and specifically illustrating the roboticwelding and machine vision systems;

FIG. 16 is a frontal view of a controller for controlling movement ofthe tractor system thereof;

FIG. 17 is a schematic block diagram illustrating components of apreferred embodiment of the apparatus according to the presentinvention;

FIG. 18 is a schematic block diagram of the computer thereof, includingsoftware blocks;

FIG. 19 is a elevated front perspective view of a third embodiment of arobotic welding system according to the present invention positionedalongside an I-beam having a plurality of defined welding sites;

FIG. 20 is a top view thereof;

FIG. 21 is a bottom view of a portion thereof;

FIG. 22 is an elevated rear perspective view of a portion of the roboticwelding system of FIG. 19;

FIG. 23 is a side view of a portion of the robotic welding system ofFIG. 19;

FIG. 24 is a perspective view of a portion of the robotic welding systemof FIG. 19;

FIG. 25 is a front perspective view of a portion of the robotic weldingsystem of FIG. 19;

FIG. 26 is an elevated perspective view of a portion of the roboticwelding system of FIG. 19;

FIG. 27 is an elevated front perspective view of the robotic weldingsystem of FIG. 19;

FIG. 28 is a perspective view of a portion of the robotic welding systemof FIG. 19;

FIG. 29 is a schematic diagram showing the connections of the hydrauliccomponents of the welding system of FIG. 19;

FIG. 30 is a top view of another embodiment of a robotic welding systemaccording to the present disclosure positioned alongside an I-beamhaving a plurality of defined welding sites, and further illustrating astereoscopic imaging system for imaging the welding sites and ferrules;

FIG. 31 is a bottom view of a portion thereof;

FIG. 32 is an elevated perspective view of a portion of the roboticwelding system of FIG. 30;

FIG. 33 is a schematic block diagram illustrating components of anembodiment of the robotic welding system having a stereoscopic imagingsystem according to the present embodiment;

FIG. 34 is a schematic block diagram illustrating components thereof;

FIG. 35 a top view of another embodiment of a robotic welding systemaccording to the present disclosure positioned alongside an I-beamhaving a plurality of defined welding sites, and further illustrating aLIDAR unit for imaging the welding sites and ferrules;

FIG. 36 is a bottom view of a portion thereof;

FIG. 37 is an elevated perspective view of a portion of the roboticwelding system of FIG. 35;

FIG. 38 is a top view of yet another embodiment of a robotic weldingsystem according to the present disclosure positioned alongside anI-beam having a plurality of defined welding sites, and furtherillustrating an ultrasonic imaging system for imaging the welding sitesand ferrules; and

FIG. 39 is a perspective top view thereof.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The ensuing detailed description provides preferred exemplaryembodiments only, and is not intended to limit the scope, applicability,or configuration of the herein disclosed inventions. Rather, the ensuingdetailed description of the preferred exemplary embodiments will providethose skilled in the art with an enabling description for implementingthe preferred exemplary embodiments in accordance with the hereindisclosed invention. It is understood that various changes may be madein the function and arrangement of elements without departing from thespirit and scope of the invention, as set forth in the appended claims.

To aid in describing the invention, directional terms may be used in thespecification and claims to describe portions of the present invention(e.g., upper, lower, left, right, etc.). These directional definitionsare merely intended to assist in describing and claiming the inventionand are not intended to limit the invention in any way. In addition,reference numerals that are introduced in the specification inassociation with a drawing figure may be repeated in one or moresubsequent figures without additional description in the specification,in order to provide context for other features.

Referring to the drawing, in which like reference numbers refer to likeelements throughout the various figures that comprise the drawing, FIG.1 shows the preferred invention 10 which comprises a welding carriage 15centrally suspended between, and on top of, right carriage track rail 20and left carriage track rail 25 and over beam 50. Rails 20 and 25 areparallel to each other and may be round or square stainless steelsupport rails commonly used in mechanical engineering for supportingmoving carriages and other machinery. Rails 20 and 25 are affixed to andfully supported by right rail support 30 and left rail support 35respectively. Examples of steel rails may include those offered byThomson Industries Inc. of Wood Dale, Ill., which is a subsidiarycompany of the Danaher Corporation.

Referring additionally to FIG. 2 of the drawing, rail supports 30 and 35are further individually mounted to right support structure 40 and leftsupport structure 45 respectively which transfer carriage 15 load toground 55. Support structures 40 and 45 have coplanar flat top surfaces41 and 43 respectively.

Floor support 75 spans between support structures 40 and 45 and providesa smooth and level surface for supporting a conventional I-beam 50. Topsurface 76 of support floor 75 is parallel with carriage 15 top surface160.

The inside surfaces of support structures 40 and 45 and top surface 76of support floor 75 form a rectangular shaped compartment 60 in whichI-beam 50 is longitudinally and centrally positioned. Rails 20 and 25along with their rail supports 30 and 35 respectively, and supportstructures 40 and 45 respectively, extend beyond beginning edge 71 andending edge 72 of beam 50.

Beam 50 further has top surface 70, bottom surface 80 and longitudinalaxis 51. Longitudinal axis 51 is parallel to rails 20 and 25. Bottomsurface 80 rests on top surface 76 of support floor 75. Right top edge675 and left top edge 680 of beam 50 is also shown in FIGS. 1 and 2.Beam 50 further has welding sites 600 irregularly spaced on top surface70 (more fully described with reference to FIG. 10).

Referring additionally to FIG. 3 of the drawing, a conventional steelwelding stud 270 is shown and comprises a head portion 265, stud shank266 and bottom welding surface 271. The diameter of head 265 exceedsthat of shank 266 diameter, and stud 270 can vary in shank 266 diameterand length. Preferably welding studs 270 are vertically welded ontosurface 70 at each welding site 600. The magnetic properties of steelstud 270 will be used to vertically align stud 270 onto each weldingsite 600.

Carriage 15 is attached to right and left pillow block bearings 22 and26 respectively by conventional means (not shown), and both pillow blockbearings 22 and 26 extend the entire longitudinal length 74 of carriage15. Pillow block bearings 22 and 26 conventionally engage rails 20 and25 respectively to allow carriage 15 to move freely in the longitudinalaxis 51 direction of beam 50 along rails 20 and 25, and therefore maytraverse the entire longitudinal length of beam 50.

Carriage 15 further has a front mounted and downwardly pointingnon-contacting conventional distance measuring sensor 65. Sensor 65 islocated equidistant from rails 20 and 25. An example of a distancemeasuring sensor may include a laser configured to measure distance fromthe measurement sensor to a target. Power and bi-directional signal flowto sensor 65 is provided via buss 66. An example of such a system ismanufactured by Banner Engineering of Minneapolis, Minn.

Sensor 65 measures the vertical distance 89 from carriage 15 to the topsurface 76 of floor 75, and therefore to bottom surface 80 of beam 50,(with sensor 65 positioned over floor surface 76), or measures thevertical distance 87 from carriage 15 to top surface 70 of beam 50 (withsensor 65 positioned over beam 50).

The vertical distance 87 from carriage 15 to top surface 70 is animportant parameter needed for accurately positioning stud 270vertically so that the bottom welding surface 271 just makes contactwith the desired welding site, irrespective of stud length.

Beam 50 further has vertical height 85 and width 86 which variesdepending upon the particular beam size. Beam width 86 (width 86 ispreferably measured in inches) is an important parameter and will beused to calculate the object distance to image pixel distance ratio forimager 90. This ratio is further used to determine the welding sitelocations and is further discussed in reference to FIG. 13 of thedrawing.

Carriage 15 further has a downwardly focused imager 90 having adjustablelens 95 (having optical axis 24) and an adjustable aperture (not shown).Imager 90 is a conventional CCD or active CMOS imager having either asquare or rectangular pixel array 105 having center 91. Imager 90 ismounted on carriage top surface 160 and behind sensor 65 as shown inFIG. 1.

The raw image captured by imager 90 is further calibrated usingconventional camera calibration software algorithms which correct forradial and tangential distortion of lens 95. To correct for lensdistortion, the raw image captured by imager 90 is input into a cameracalibration software algorithm which substantially corrects the rawimage for the effects of lens distortion, thus producing a morerealistic image of surface 70. Camera lens calibration algorithms arewell known in the machine vision art and may include for example, MATLABcompatible camera calibration programs, or OpenCV (Open Source ComputerVision), camera calibration algorithms. MATLAB is offered by theMathworks of Natick, Mass.

Pixel array 105 is aligned with lens 95 so that optical axis 24intersects the center 91 of pixel array 105, and the center 91 of array105 is positioned to be equidistant from rails 20 and 25.

Lens 95 and aperture 100 define field of view 115 of imager 90 andfocuses an image of top surface 70 of beam 50 onto pixel array 105.Image data signals, control and timing signals, along with electricalpower, communicate with imager 90 via buss 110.

A right-handed carriage 15 referenced Cartesian coordinate system 23(moveable with carriage 15) comprising X-axis 27, Y-axis 28 and Z-axis29 is also depicted in FIG. 1. Note that the positive Z-axis 29 pointsdownward from carriage 15 into compartment 60 as shown in FIG. 2. Thereference center of X-Y-Z coordinate system (i.e., X=0, Y=0, Z=0) ispositioned along the optical axis 24 of imager 90 and at the center 91of pixel array 105, having the Z-axis 29 co-aligned with optical axis24, and X-axis 27 parallel with rails 20 and 25 and co-aligned withlongitudinal axis 51.

Another right-handed fixed (i.e., non-moveable) Cartesian coordinatesystem 34 comprising X′ 31 axis, Y′ 32 axis and Z′ 33 axis is also shownin FIG. 1 having its origin located equidistant between rails 20 and 25,coincident with X′=0 position marker 143 and is coplanar with topsurfaces 41 and 43 of supports 40 and 45 respectively. CoordinateX′-axis 31 is directed along the X-axis 27, and the Y′ axis 32 isparallel with Y axis 28. For clarity, coordinate system 34 in FIG. 1 isshown displaced along the X′ axis 31 from its actual defined origin.

Mounted on top surface 160 and on the right side of carriage 15 iscomputer 155 (not shown in FIG. 2), and is further discussed withreference to FIGS. 6-9.

Additionally affixed to the left side of carriage 15 is a conventionallinear position encoder having linear position sensor 120 whichcooperates with linear scale 125 to determine X′-axis 31 position ofcarriage 15. Linear scale 125 is affixed to support 45 by conventionalmeans (not shown) and sensor 120 is fixed to, and moves with, carriage15. The home position of carriage 15 is defined as the X′=0 143 positionmarker.

Thus the X′ 31 positions of carriage 15, as well any components andparts thereof attached to carriage 15 (including, for example, sensor65, center 91 of pixel array 105, all four boundary edges of carriage15, etc.) are known with respect to the home position of carriage 15taking into consideration any X-axis 27 distance offset corrections fromsensor 120. Similarly, the Y′ 32 and Z′ 33 positions of any componentsor parts thereof attached to carriage 15 are known with respect tocoordinate system 34 taking into consideration the Y-axis and Z-axisoffsets.

Additionally, knowing the X′ 31 positions of carriage 15 and of theattached components, and knowing the X′ 31 position of beginning edge 71of beam 50, the X′ positions of carriage 15 and any carriage 15 affixedcomponents or parts thereof are easily determined with respect to the X′31 position of the beginning edge 71 of beam 50.

Similarly, knowing the X′ 31 position of ending edge 72 of beam 50, theX′ positions of carriage 15 and any carriage 15 affixed components orparts thereof are easily determined with respect to the X′ 31 positionof the ending edge 72 of beam 50.

Examples of a linear position encoders may include optical or magneticlinear encoders. Another linear encoder may include a conventional drawwire sensor, or may further include a conventional laser ranging system130 (commonly referred to as a LIDAR system) which cooperates withreflective target 132 to determine the X′ 31 axis position of carriage15 (system 130 and reflective target 132 are shown in dashed lines inFIGS. 1 and 2). In all of these examples, the X′-axis 31 position ofcarriage 15 is determined. Buss 141 provides position data and controlsignals, along with power for linear sensor 120.

Further connected to carriage 15 is a conventional motor drive system(not shown) which propels carriage 15 in either direction of X′-axis 31,and which may also stop carriage 15, in a controlled manner under thecontrol of X′ axis control system 157 (more fully discussed in referenceto FIG. 6 of the drawing).

The motor drive system 156 may include a conventional belt drive systemhaving carriage 15 fixed to a drive belt, the belt being driven by astationary motor, or the drive system may include a conventionalcooperating ball and screw drive combination for moving carriage 15along X′-axis 31. In either case, it is understood that carriage 15 isable to move along rails 20 and 25 along the longitudinal axis 51 ofbeam 50 in the X′-axis 31 direction and be controllably positioned at adesired X′-axis position.

Carriage 15 may also be self-propelled having an attached computercontrolled motor with a pinion gear connected to the motor shaft andwhich further engages a conventional gear rack which is mounted toeither support structure 40 or 45. A manufacturer of cooperating motorpinions and gear racks include Boston Gear of Charlotte, N.C.

Mounted onto top surface 160 of carriage 15 are identical left and right3-axis computer controlled welding stations 135 and 140 respectively, asshown in FIG. 1 of the drawing. Welding stations 135 and 140 have beenomitted from FIG. 2 for clarity.

Referring now additionally to FIG. 4 of the drawing, left weldingstation 135 is mounted onto top surface 160 of carriage 15 with weldingstation supports 165 and 170. Support 165 and 170 elevate weldingstation 135 above and over sensor 65, imager 90, sensor 120 and computer155. Welding station 140 is similarity identically mounted onto topsurface 160 (the welding station supports are not shown).

Affixed to supports 165 and 170 are rail supports 175 and 180respectively. Rail supports 175 and 180 provide support for rails 185and 190 respectively. Rails 185 and 190 are aligned parallel to Y-axis28. Mounted onto rails 185 and 190 are pillow blocks 195 and 200respectively. Pillow blocks 195 and 200 are further attached to lowerbase 205. Thus lower base 205 can move freely in the Y-axis 28 directionon top of carriage 15. Similarly, welding station 140 has a moveablelower base (not shown) which can move freely in the Y-axis 28 direction.

Mounted to base 205 are a pair of parallel rail supports (only railsupport 210 shown) which support a pair of parallel rails (only rail 215shown) respectively. Rails 215 and 216 are aligned parallel to X-axis27. Pillow blocks 220 and 225 are moveably attached to rail 215, and twoadditional pillow blocks (not shown) are moveably attached to the otherrail.

Attached to pillow blocks 220, 225, 221, and 226 is upper base 230. Thedouble rail configuration of parallel rails 215 and 216 in combinationwith their respective attached pillow blocks provide a non-rotatable andstable horizontal platform for upper base 230. Thus upper base 230 canmove freely in the X-axis 27 direction (noted as arrow 239 in FIG. 4)referenced to carriage 15. Similarly, welding station 140 has upper base231 (not shown) which moves freely in the X-axis 27 direction.

Further attached to upper base 230 is vertical support member 235 whichis supported by truss support 240. One end of truss support 240 isattached to the upper end of vertical support 235 and the other end oftruss support 240 attaches near the end of upper base 230 closest to thefront of carriage 15.

Moveably attached to vertical support 235 is moveable support block 245.Block 245 is supported by dual rail, dual rail supports and respectivepillow blocks (all not shown) onto vertical support 235 in a similarfashion to upper base 230, and which allows block 245 to freely move invertical direction 260 which is parallel with Z-axis 29. Similarly,welding station 140 has moveable support block 246 (not shown) whichmoves freely in a vertical direction parallel to the Z-axis 29direction.

Attached to block 245 is welding collet support rod 250. On the distalend of support rod 250 is affixed stud collet 255 for engaging the headportion 265 of stud 270. Stud 270 has been previously axially alignedwith collet 255 and, if a ceramic ferrule is required to be placed overthe welding site 600 along with stud 270, shank 266 has been insertedinto and is axially aligned with ceramic ferrule 330. Welding station140 has similar stud collet 256 for engaging the head portion of itsrespective stud.

Ceramic ferrule 330 shapes the molten metal produced during the weldingprocess to form a fillet which tends to strengthen the weld,concentrates the arc heat to an area immediately surrounding the base ofthe stud, substantially shields the arc from the welding operator andtends to protect the molten metal pool from atmospheric contaminants.Ferrules are extensively used during the stud welding process.

Welding station 135 further has conventional computer controlled servopositioning system 400 (shown in FIG. 6) comprising motors, drivesystems and positional feedback sensors, electronic circuits etc. whichin combination accurately moves and positions lower base 205, upper base230 and block 245 along their movement axes relative to coordinatesystem 23.

Welding station 140 has a similar conventional computer controlled servopositioning system 405 (not shown) comprising motors, drive systems andpositional feedback sensors, electronic circuits etc. which incombination accurately moves and positions its respective lower base206, upper base 231 and block 246 along their movement X-Y-Z axesrelative to coordinate system 23.

Thus welding stations 135 and 140 can independently move and positioncollets 255 and 256 respectively referenced to coordinate system 23under the control of position systems 400 and 405 respectively.Additionally, welding stations 135 and 140 can independently move andpositions collets 255 and 256 referenced to coordinate system 34 takinginto consideration any positional offsets.

Conventional techniques for feeding and aligning both studs and ferrulesinto collets are well known in the art and are disclosed, for example,in U.S. Pat. No. 5,130,510, which is hereby incorporated by reference inits entirety.

Outwardly attached to support rod 250 is bracket 280. Bracket 280supports non-electrically conducting arm 290 via pin 295. Arm 290 isconstructed from electrically insulating material so that electricalwelding current flows only through rod 250 and collet 255 to stud 270.Arm 290 is further rotatable about pin 295 in counter clockwisedirection 315 and clockwise direction 316. An adjustable stop 296 limitsarm 290 rotation in the 316 direction.

Compression spring 300 is affixed to support rod 250 above collet 255and engages arm 290. Spring 300 biases arm 290 in direction 315. Furtherattached to support rod 250 above compression spring 300 location butbelow bracket 280 position is solenoid 305 having plunger 320. Theextended portion of plunger 320 is moveably affixed to arm 290. Plunger320 also limits arm 290 rotation in the 315 direction. Arm 290 hasfurther an extended stud alignment arm 310 and an extended ferruleholding arm 325.

When solenoid 305 is electrically energized via cable 470, plunger 320is pulled towards the interior of solenoid 305 which subsequently forcesarm 290 in direction 316 against the biasing force of spring 300eventually being stopped by adjustable stop 296.

Referring additionally to FIG. 5 of the drawing, rod 250 has been movedin the downward positive Z direction by positioning system 400 therebyforcibly engaging collet 255 with head 265 of stud 270.

Arm 290 is shown in contact with adjustable stop 296 having solenoid 305energized pulling in plunger 320 and therefore having stud alignment arm310 engaging shank 266 of stud 270 and ferrule holding arm 325 pressedagainst ferrule 330. Interior to arm 310 is electro-magnet magnet 335which, when energized via cable 337, forcibly creates an attractivemagnetic field which pulls and aligns shank 266 of stud 270 into aco-axially aligned position with collet 255 (and ferrule 330 ifpreviously loaded along with stud 270).

Pressing of holding arm 325 against ferrule 330 maintains frictionalcontact between the outer surface of shank 266 of stud 270 and the innersurface of ferrule 330, thus holding ferrule 330 to stud 270. Stud 270and ferrule 330 combination can now be moved by positioning system 400and positioned to a desired X-Y-Z (or to a desired X′-Y′Z′ taking intoconsideration positional offsets). If ferrule 330 is not present,holding arm 325 is positioned away from shank 266 and does not engagestud 270.

Additionally attached to holding arm 325 is solenoid 326 having pointedplunger 327. Plunger 327 is laterally directed at ferrule 330. Whensolenoid 326 is energized via cable 328, plunger 327 is forciblyextended out of solenoid 326 having its pointed end forcibly engagingand subsequently splitting ferrule 330. Welding station 140 has asimilar solenoid 329 corresponding to solenoid 326, respective cable 331and pointed plunger 333 (all not shown). Solenoid 326 can be energizedby positioning system 400 to forcibly fracture ferrule 330 for laterremoval from surface 70. In a similar fashion, solenoid 329 can performthe same function.

Welding station 140 has identical solenoid 430 having cable 475 andelectromagnet 336 having cable 338 which corresponds to solenoid 305having cable 470 and electromagnet 335 having cable 337 respectively ofwelding station 135.

Stud alignment and engaging system as disclosed in reference to FIGS. 4and 5 comprises rod 250, bracket 280, arm 290, collet 255, pin 295,adjustable stop 296, compression spring 300, solenoid 305, studalignment arm 310, electromagnet 335, ferrule holding arm 325, ferrulefracturing solenoid 326 and associated cables and other parts for thevarious solenoids and electromagnet. Welding station 140 has anidentical welding station 135 stud alignment and engaging system.

Thus during the welding process arm 290 aligns and supports stud 270(which may include ferrule 330) in a vertical position and after thewelding process can further fracture ferrule 330 for subsequent removalfrom welding sites 600. It is again noted that welding station 140 is inevery respect identical to welding station 135.

In other welding stud construction applications, it may prove moreconvenient to have a welding station and its respective position systemmounted on a conventional self-powered dual continuous-track tractordrive system similar to those used on bulldozers and other earth movingequipment and be positioned over a previously field installed I-beam.

For example, this type of welding system would be beneficial for weldingstuds to previously installed I-beams which may include for example,bridge girders which have been erected without having any welded stud.In this type of system, the welding system is propelled by the tractorand longitudinally positioned over a section of the top surface of thebeam, studs are then subsequently welded to the welding sites using animage of the girder surface, and after the welding process is completed,the tractor is then moved to the next welding section along the beam.This “step and repeat” welding process continues until all studs havebeen welded onto the top surface of the beam. This type of system ismore fully described later in the document and in particular withreference to FIGS. 14 and 15.

An electrical block diagram of the preferred embodiment of the inventionis shown in FIG. 6 of the drawing and comprises components computer 155,imager 90, Z-distance sensor 65, X-axis linear sensor 120, X′-axis 31positional control system 157, motor drive system 156, positionalcontrol systems 400 and 405, welding control circuits 410 and 415,keyboard 420, display 425, solenoids 305, 326, 430, 329, electromagnets335 and 336, and power supply 121. Positioning control systems 400 and405 control the X-Y-Z movements of welding stations 135 and 140respectively. Welding control circuits 410 and 415 control the weldingprocesses for welding stations 135 and 140 respectively.

All components except for solenoids 305, 326, 430, 329, control circuits410 and 415, keyboard 420, display 425, electromagnets 335 and 336,drive system 156 and power supply 121 are in bi-directionalcommunication with each other via bi-directional buss 435.

X′-axis 31 carriage 15 control system 157 receives positioning commandsfrom computer 155 via bi-directional buses 158 and 435, and alsoreceives carriage X′ positional information via line 159 from sensor120. In response to positioning commands from computer 155, controlsystem 157 controls drive system 156 and moves carriage 15 to a desiredX′ position referenced to X′=0 position marker 143 (carriage 15 homeposition). Movement commands from X′ axis control system 157 are sent todrive system 156 via bi-directional communication bus 154.

Positional control systems 400 and 405 communicate with buss 435, andhence with computer 155, via bi-directional buses 460 and 465respectively. Positioning system 400 may therefore receive positioningcommands from computer 155 to position either a stud loaded collet 255(with or without an attached ferrule) at a desired X′-Y′-Z′ coordinatedefined welding site for welding stud 270 onto beam surface 70, bycontrolling the X-position of upper base 230, the Y-position of lowerbase 205 and Z-position of block 245 of stud 270.

To correctly position stud 270 over a welding site to begin the weldingprocess, system 400 may receive the desired X-Y-Z positions fromcomputer 155. Additionally, positioning system 400 may also send thecurrent X-Y-Z stud (and also collet) position information to computer155. Thus positioning system 400 can position the welding collet (withor without a stud or stud-ferrule combination) within its allowed rangeof motion.

Positioning system 405 is identical to system 400 and performs similarfunctions for welding station 140.

Positioning system 400 also controls the activation of solenoid 305 viacable 470, solenoid 326 via cable 327 and electromagnet 335 via cable337.

Positioning system 405 likewise controls the activation of solenoid 430via cable 475, solenoid 329 via cable 331 and electromagnet 336 viacable 338.

Control circuits 410 and 415 control the welding process for theirrespective stations 135 and 140 respectively. For example, the amount ofwelding current and arc welding time of the welding process arecontrolled by circuits 410 and 415 for each welding station 135 and 140respectively. Welding currents and arc welding times are well knownparameters in the art for particular sizes of studs and types ofmaterials. For example, a stud having ¾ inch shank 266 may require inexcess of 1,000 amperes of welding current, while smaller shank 266diameter studs usually require smaller welding currents.

Control circuits 410 and 415 communicate with computer 155 viabi-directional buses 450 and 455 respectively. Welding parameters for aparticular stud size for each system 400 and 405 is entered by theoperator via keyboard 420 and entered into computer 155, and thisinformation is then passed to the respective control circuits 410 and415 by computer 155. Additionally, control circuits 410 and 415 send asignal back to computer 155 upon completion of a welding cycle.

Keyboard 420 and display 425 are conventional computer peripheralscommonly provided and used with computer systems. Keyboard 420 allows anoperator to input data or other information to computer 155 viabi-directional bus 440, and display 425 visually displays messages andother information to the operator from computer 155 via bi-directionalbus 445. For example, the operator may enter the beam 50 data such asbeam dimensions (i.e., width, length and height) or a beam identifierwhich can be used to point to a look-up table which contains beam 50data. Data entered via keyboard 420 may be stored in data memory 520 ofcomputer 155 (further discussed with reference to FIGS. 7-9).

Imager 90 communicates with computer 155 through image acquisitionsystem 475. Image acquisition system 475 is commonly referred to as animage capture card which includes a memory buffer for storing acquiredraw image data from imager 90, and also is able to transfer raw imagedata from its buffer to computer memory 520 (further discussed inreference to FIG. 7). System 475 handles the flow of data via buses 435and 110 to and from imager 90 to computer 155 which may include imagedata signals, control and trigger signals.

Sensor 65 communicates with computer 155 via buses 66 and 435. Sensor 65may directly send information continuously to computer 155 without theneed for computer 155 to directly request sensor 65 data or computer 155may request sensor 65 data in which case sensor 65 responds by sendingthe Z direction data.

Sensor 120 communicates with computer 155 via buses 141 and 435. Sensor120 may directly send information continuously to computer 155 withoutthe need for computer 155 to directly request sensor 120 data, orcomputer 155 may request sensor 120 data in which case sensor 120responds by sending the X′-axis direction distance data.

Electrical power is supplied to all electrically operated systemcomponents by conventional power supply 121.

Referring additionally to FIG. 7 of the drawing, computer 155 furthercomprises operating system program 500, program memory 510 and datamemory 520.

Operating system program 500 is a conventional real time operatingsystem (RTOS) or may be a Windows based operating system supplied byMicrosoft Corporation, or other commonly available operating systemssuch as LINUX.

Program memory 510 further comprises sensor 65 data acquisition program530, X′ positional control program 535, X-Y-Z positioning program 540for station 135, X-Y-Z positioning program 545 for station 140, machinevision acquisition and analysis program 550, welding control program 555for station 135, and welding control program 560 for station 140.

Sensor 65 data acquisition program 530 communicates with sensor 65 andcan either request immediate Z distance data in which case sensor 65responds to this request and sends Z distance data back to computer 155,or sensor 65 can be programmed by program 530 to continuously send Zdistance data back to computer 155. This is important to determine thebeginning 71 and ending 72 edges respectively of beam 50. Beam edges 675and 680 may also be determined by image analysis.

Program 530 also stores received Z distance data into computer 155 datamemory 520 (discussed in reference to FIG. 8 of the drawing), and mayfurther perform arithmetic operations (such as adding and subtracting Zdata) on the stored Z distance data.

Thus computer 155 can input Z distance data from sensor 65 and determinedistance 89 from carriage 15 to surface 76 (and therefore beam 50 bottomsurface 80) if sensor 65 is positioned over surface 76, or from carriage15 to beam top surface 70 if sensor 65 is positioned over beam 50 eithercontinuously or via a computer 155 request, and can then subsequentlysubtract these Z distance data to calculate beam height 85. Beam heightis stored in data memory 520.

Control program 535 communicates with sensor 120 and can either requestimmediate X′-axis positional data in which case sensor 120 responds tothis request and sends X′-axis positional data back to computer 155, orsensor 120 can be programmed by program 535 to continuously send X′-axispositional data back to computer 155.

Control program 535 may also send a desired X′-axis position data forcarriage 15 to X′ axis control system 157 from computer 155. In responseto the received X′ position data, control system 157 along with drivesystem 156 then moves carriage 15 in a controlled fashion to the desiredX′ position. Both current and desired X′ location data is stored in datamemory 520 by program 535.

Positioning program 540 sends control and positioning signals topositioning system 400 to spatially position welding collet 255 (whichmay or may not have a loaded stud, or stud-ferrule combination) at acarriage 15 referenced X-Y-Z coordinate position which corresponds to afixed X′-Y′-Z′ coordinate position. Program 540 computes the requiredX-Y-Z position taking into consideration previously determinedpositional offsets for welding station 135.

In a similar fashion, positioning program 545 sends control andpositioning signals to positioning system 405 to spatially positionwelding collet 256 (which may or may not have a loaded stud, orstud-ferrule, combination) at a carriage 15 referenced X-Y-Z coordinateto a fixed X′-Y′-Z′ coordinate position. Program 545 computes therequired X-Y-Z position taking into consideration previously determinedpositional offsets for welding station 140.

Programs 540 and 545 have permanently stored positional X-Y-Z offsetvalues, and use these offset values along with the respective studlength and distance from carriage 15 to beam surface 70 to compute thedesired X-Y-Z collet 255 and 256 positions. For example, during the studloading process, the Z coordinate value is computed taking intoconsideration the stud length when moving the collet into position toload a stud. Another example includes computing the Z value for placingthe stud on top of the welding site taking into consideration both thestud length and distance 87 from carriage 15 to welding site 600 onsurface 70. Other X-Y-Z axis positional offsets are similarlyconsidered. Thus programs 540 and 545 will be able to correctly positionthe collet or collet-stud combination at an offset adjusted X-Y-Zcoordinate value which corresponds to an X′-Y′-Z′ coordinate value.

Programs 540 and 545 may also receive the current X-Y-Z coordinates of255 and 256 collets from stations 135 and 140 through positioningsystems 400 and 405 respectively, and therefore can compute thecorresponding X′-Y′-Z′ collet and stud coordinates. Thus the X-Y-′Z′coordinates of the stud 270 surface 271 can be computed knowing the studlength (and taking into account positional offsets). Positional data isstored into data memory 520. Additionally, the current collet and studposition is important to know for controlling collet position forloading a stud into the collet or to begin the welding process.

Programs 540 and 545 can also operate independently of one another andtherefore can independently position studs or collets at desired 33 or34 coordinate system locations. Thus given a particular X′-Y′-Z′ weldingsite coordinate, programs 540 and 545 compute the necessary X-Y-Zcoordinate values for positioning collets 255 and 256 (and theirassociated stud or stud-ferrule combination) using positional offsetadjustments.

Machine vision acquisition and analysis program 550 controls imageacquisition system 475, and therefore the acquisition of images fromimager 90. Control signals are sent to imager 90 through system 475 byprogram 550 which may include, but are not limited to, image triggersignal (i.e., when to acquire a raw image) and an electronic shuttersignal (i.e., how long should the image be acquired).

Program 550 may also directly access raw image data directly from theimage buffer of system 475 or from data memory 520. Program 550 alsoincludes a camera calibration algorithm which corrects the raw imagedata input from imager 90 via system 475, or accessed directly from datamemory 520, for lens distortion and other non-ideal camera parameters.Program 550 then stores the calibrated image data to data memory 520.When an image is triggered, program 550 also inputs the acquired imageX′-axis position directly from sensor 120 or by accessing data memory520. Program 550 then stores the calibrated image data along with theimage X′ position in data memory 520.

Program 550 also analyzes the stored calibrated image data and includesan algorithm for identifying each welding site within the image usingconventional image segmentation algorithms. Such algorithms includeimage thresholding wherein welding sites are identified using thedifference in grayscale values between the bright reflective weldingsite and the dull non-reflecting beam surface.

Program 550 further identifies the center of each welding site (whichmay include the center of a manually placed ferrule 330), calculates theconvention (u-v) pixel coordinates of the center of each non-repeatedidentified welding site, calculates the X′-Y′ positions of the center ofeach non-repeated welding site, identifies the line images of top edges675 and 680 of beam 50, stores the u-coordinates data into data memory520, determines the respective u coordinates for the line images of beamedges 675 and 680, determines the number of pixels between the lineimages of beam edges 675 and 680 using the line image u coordinates,calculates the image pixel distance to object distance ratio from thebeam edges 675 and 680 using beam width 86 input data, and may alsoidentify the images of the beginning 71 and ending 72 edges respectivelyand determine their respective image v coordinates in addition to otherimage analysis and processing functions.

Data including the (u,v) pixel coordinates of the center of everyidentified welding site and the X-Y and X′Y′ coordinates for eachwelding site, along with the calculated pixel to object distance ratiois stored in data memory 520, in addition to other data.

Program 550 also computes, using the camera calibration algorithm, thecamera calibration parameters which are used to correct the raw imagefor lens distortion and stores these parameters in data memory 520.

Welding control programs 555 and 560 program control circuits 410 and415 respectively with the desired welding parameters for controlling thewelding process for station 135 and its respective stud, and station 140and its respective stud.

The welding parameters may include stud length and diameter, weldingcurrent, time and stud plunging distance, and may be different forcircuit 410 and 415 depending upon the respective welding station studsize and other parameters. Welding parameters are input to computer 155by the operator via keyboard 420 in response to queries displayed ondisplay 425 by computer 155, and are subsequently sent by programs 555and 560 to welding control circuits 410 and 415 respectively.

Programs 555 and 560 also receive a ‘Welding Complete’ signal sent fromcontrol circuits 410 and 415 respectively. Thus computer 155 will knowwhen the welding cycle has been completed for welding station 135 and/orwelding station 140.

It is noted that stations 135 and 140 may also accommodate differentsized studs and thus welding station 135 may weld studs of oneparticular size and welding station 140 may weld studs of a differentsize onto beam surface 70.

All programs may read data from and write data to memory data 520.

Referring to FIG. 8 of the drawing, data memory 520 comprises individualmemory locations 701 through 715. Individual blocks of memory comprisingsets of contiguous memory include memory blocks 720 through 726. Anindividual memory location is a single location which stores onevariable value, whereas a memory block contains many contiguous memorylocations and can store many variable values. A memory block usuallycontains related information, such as user input data, image data orpositional data. All programs contained in program memory 510 haveaccess to data memory 520 and its contents.

Memory location 701 stores the object distance to pixel distancecalculated ratio. This ratio will be used to calculate object distancelocations of welding sites 600 from pixel distances. Memory locations702 and 703 store the Z distance data from sensor 65 from carriage 15 tobeam top surface 70 (noted as Z0) and from carriage 15 to bottom surface80 (noted as Z1) respectively. Memory location 704 stores the calculatedbeam height 85.

Memory locations 705 and 706 store the current carriage 15 X′ positionand the desired carriage X′ position respectively. The current carriage15 X′ value is obtained from sensor 120 which cooperates with linearscale 125.

Memory location 707 stores the X′ position of beginning edge 71 of beam50. This value is used in the offset calculations to determine thecorrect welding sites 600 X′-Y′-Z′ coordinates for welding stations 135and 140.

Memory location 708 stores the X′ position of ending edge 72 of beam 50.The X′ position value of ending edge 72 is used to determine if thewelding process for all welding sites has been completed.

Memory location 709 stores the current Z distance value obtained fromsensor 65.

Memory locations 710 and 711 store the u-coordinate value of the lineimages of beam edges 675 and 680 respectively. These values are obtainedfrom program 550.

Memory locations 712 and 713 store the initial and current N memorypointer values, and memory locations 714 and 715 store the initial andcurrent P memory pointer values. Pointers N and P are used to point tomemory addresses of specific memory locations which contain the X′-Y′-Z′coordinate data of each welding site, noted as in memory block 724(discussed below). The N pointer and P pointer initial values are set tothe starting address of memory block 724.

Memory block 720 stores user input data which is input via keyboard 420by the operator in response to queries sent by computer 155 to display425. These queries may ask the operator to input the length, width andheight of beam 50. Additionally the operator may enter a beamidentification number. This number may be used to point to aconventional look-up table which contains all of the necessary beamparameter data which has already been stored in permanent computermemory.

Memory block 720 further stores individual stud data (i.e., stud lengthand diameter) for stations 135 and 140. As previously stated, thepreferred invention can weld two different sized studs onto beam surface70. The stud length is an important parameter used along with otheroffset values to vertically position collets 255 and 256 for properlyloading and seating the studs within the respective collets, and also toproperly position the studs vertically with respect to top surface 70 ofbeam 50 just before and during the welding process.

Additionally, memory block 720 stores the welding parameters for weldingcontrol circuits 410 and 415 and includes the welding current amperage,and welding time plunging force and distance, and other parameters.

Memory block 721 stores the camera intrinsic and extrinsic calibrationparameters which are used by program 550 to correct the raw image datafor lens distortion and other non-ideal imager 90 characteristics. Thecorrected image is used to calculate the X′-Y′ coordinates of thewelding sites 600.

Memory block 722 stores the raw image data of surface 70 from imager 90along with the X′ position of where the image was acquired.

Memory block 723 stores the corrected image data (after applying thecamera calibration program to the raw image data) along with the X′position of where the image was acquired. Each image is stored in aconventional array format used for storing images. For example, for a640 by 480 rectangular pixel array 105 having an eight bit grayscaleresolution, the memory allocated for each raw and corrected image wouldbe 307,200 bytes of data.

Memory block 724 stores the X′-Y′-Z′ welding site coordinates.

Memory block 725 stores the positional offsets for welding stations 135and 140 respectively. The positional offsets include the distance fromthe X-Y-Z coordinate system origin to sensor 120, the offsets from theX-Y-Z coordinate system origin to the home positions of welding stations135 and 140, the offsets from the X-Y-Z coordinate system origin to topsurface 160 of carriage 15, and other offsets.

Memory block 726 stores other data as may be required by the preferredembodiment.

Referring additionally to FIG. 9, pointers N and P are initially setequal to the beginning address locations for the beginning of theX_(w)′-Y_(w)′-Z′_(w) memory block 724, herein referred to as the weldingsite coordinate table, for each distinct welding site. Each set ofX_(w)′-Y_(w)′-Z′_(w) coordinates are referred to as a coordinate group737 as shown in FIG. 9. Incrementing N by 3 will point to the nextwelding site X_(w)′-Y_(w)′-Z′_(w) coordinate group when the previous Npointer value is pointing to the beginning of the previousX_(w)′-Y_(w)′-Z′_(w) coordinate group (i.e., specifically to theprevious group X_(w)′ coordinate). Pointer P can also be incremented ina similar fashion. Note that each welding site coordinate is identifiedas (X_(w)′(1)-Y_(w)′(1)-Z′_(w)(1)), the second welding site coordinateas (X_(w)′(2)-Y_(w)′(2)-Z′_(w)(2)), etc.

Individual coordinates of a particular coordinate group, for example,X_(w)′(2), can be written to or read by computer 155 by incrementingpointer N and P by the appropriate values, and pointers N and P areincremented according to program flow more fully described in referenceto FIGS. 13A-E.

Specifically referring now additionally to FIG. 10 and as previouslynoted in reference to FIG. 1 of the drawing, beam 50 is shown having anumber of welding sites 600. Welding sites 600 typically consist ofmanually ground areas which are randomly spaced and located on beamsurface 70. Welding sites 600 are coarsely ground areas which removeoxides, paint and other undesirable coatings which may interfere withthe welding process. Workers are usually employed to manually grindwelding sites 600 with conventional grinders.

The ground welding sites have a metal bright finish and reflect light uptowards imager 90 unlike the un-ground and possibly dull, beam surface70. The ground areas generally exceed a minimum circular area 605 whichexceeds the area of welding surface 271 of stud 270. Other welding sitesmay also include ferrule 330 which has been manually placed in contactwith and on top of welding sites 600.

Beam 50 may also include one or more structural support plates 610 whichmay be affixed to beam 50 with rivets 615 or welded to beam 50. Studsare usually not welded to support plates.

Referring specifically to FIG. 11 (and also to FIG. 1) of the drawing,an image 650 of area 635 which includes beam surface 70 is shown, andincludes images 655 and 660 of welding sites 640 and 645 respectively,and images 665 and 670 of beam 50 edges 675 and 680 respectively. Image650 has further defined conventional image u-v pixel coordinate system690. Coordinate system 690 is used to define the coordinates of eachpixel in image 650. Pixel distance Δu 657 is defined as the distance inpixels along the u axis between line images 665 and 670 of beam edges675 and 680 respectively. Pixel difference Δu 657 is an importantparameter which will be used to calibrate image pixel distance to objectdistance. Also overlaid onto image 650 are the X-axis 27 and Y-axis 28of coordinate system 23, having the origin defined at the surface andcenter 91 of pixel array 105.

Referring additionally to FIG. 12 of the drawing, an image 650 of area635 is shown but now having ferrule 330 placed on top of welding site640. Image 650 now includes a top down image 695 of ferrule 330 placedover the welding site image 655. Ferrule 330 may sometimes be manuallyplaced over the welding sites, for example, during the stud weldingprocess used on bridge girders.

In operation and referring additionally to FIGS. 13A-E of the drawing,the operator in step 1000 first inputs a ‘System Start’ command usingkeyboard 420 which then subsequently sends a signal via bus 440 tocomputer 155. Program flow then proceeds to step 1010.

In step 1010, computer 155 in response to the ‘System Start’ commandsets all variables in data memory 520 to 0 including all memory blockdata (all memory block data is initialized to 0).

A memory block of contiguous memory locations is then allocated forstoring the X_(w)′-Y_(w)′-Z′_(w) welding site locations in tabular form(welding site coordinate table) as previously shown in FIG. 9, orconventional dynamic memory allocation techniques may be used toallocate memory. Pointers N and P are initially set to point to thefirst memory location X_(w)′(1)-Y_(w)′(1)-Z′_(w)(1) of the welding sitecoordinate table (memory block 724). Program flow then proceeds to step1015.

In step 1015, computer 155 then sends a query message via bus 445 todisplay 425 for the operator to enter in the beam data including beamlength, width and height, and may also request the operator to enter abeam 50 identification number. The operator enters this data viakeyboard 420 which is sent to computer via bus 440 and computer 155subsequently stores this data in memory block 720 of data memory 520.Program flow continues to step 1020.

In step 1020, computer 155 again sends a query message via bus 445 todisplay 425 for the operator to acknowledge if ferrules are to be loadedwith their respective studs for stations 135 and 140 during the weldingprocess. Ferrules may be loaded for station 135 only, for station 140only, or for both stations 135 and 140. The operator responds viakeyboard 420 and this data is sent to computer 155 via bus 440, andsubsequently stored in memory block 720. Program flow then continues tostep 1025.

In step 1025, computer 155 again sends a query message via bus 445 todisplay 425 for the operator to enter the respective stud sizes whichare to be used with welding stations 135 and 140. The operator respondsvia keyboard 420 and this data is sent to computer 155 via bus 440, andsubsequently stored in memory block 720. Stud size is further sent bycomputer 155 to welding stations positioning systems 400 and 405 viabuss 435, and buses 460 and 465 respectively.

Stud size data (and in particular stud length) is used by systems 400and 405 to determine the proper amount of travel distance in the Zdirection required by positioning systems 400 and 405 to fully engagecollets 255 and 256 with their respective studs, and further todetermine the appropriate amount of travel distance in the Z directionrequired for just setting their respective welding surface 271 onto thetop surface 70 of beam 50 over their respective welding sites 600 at thebeginning of the welding process. Program flow then continues to step1030.

In step 1030, computer 155 again sends a query message via bus 445 todisplay 425 for the operator to enter the respective welding parametersfor welding stations 135 and 140. The operator responds via keyboard 420and this data is sent to computer 155 via bus 440, and subsequentlystored again in memory block 720 along with the respective stud data.

In response to receiving the welding parameter data, computer 155transmits the welding parameter data to both welding stations controlcircuits 410 and 415 via buses 450 and 455 respectively, therebyprogramming control circuits 410 and 415 with the desired weldingparameter data stations such as the amount of welding current, time,stud plunging distance, etc. for their respective welding stations.Program flow continues to step 1035.

Continuing now to step 1035, computer 155 now inputs the currentcarriage 15 X′ position from sensor 120 via buses 141 and 435 and storesthis value in memory location 705, and sends this value via bus 445 todisplay 425 for viewing by the operator. Program flow then continues tostep 1040.

In step 1040, computer 155 compares the current carriage 15 X′ positionwith the X′=0 (home position) position marker 143. If the currentcarriage 15 X′ position is not equal to X′=0, program flow continues tostep 1045. If the current carriage X′ position=0, program flow continuesto step 1050.

In step 1045, computer 155 sends a ‘Move Carriage Home’ command viabuses 435 and 158 to X′ axis control system 157 which causes drivesystem 156 to move carriage 15 in an X′ direction to force thedifference between the current X′ position and the X′=0 position toequal zero. Control system 157 inputs the current X′ position fromlinear sensor 120 via line 159. For example, if the current position X′position of carriage 15 in step 1035 is +30.00 inches, control system157 will move carriage 15 in the negative X′ direction continuallyinputting the current X′ position from linear sensor 120 until carriage15 reaches its X′=0 home position. When the current carriage 15 X′position is equal to X′=0 position, program flow continues to step 1050.

In step 1050, control system 157 then commands drive system 156 to stopcarriage 15. Carriage 15 is now stopped at the X′=0 position marker homeposition and a ‘Carriage Stopped’ signal is sent to computer 155.Program flow continues to step 1055.

In step 1055, computer 155 then inputs Z distance data from sensor 65via buses 66 and 435. Note that the home position of carriage 15 locatessensor 65 before the beginning edge 71 of beam 50 as shown in FIG. 1 ofthe drawing so that sensor 65 inputs the distance from carriage 15 tosurface 76, and therefore to bottom surface 80 of beam 50. This data isstored in memory location 703 as Z0. Program flow continues to step1060.

Continuing now to step 1060, computer 155 sends a ‘Home Welding Station’command to positioning systems 400 and 405 via buss 435 and buses 460and 465, respectively. In response to the ‘Home Welding Station’command, positioning system 400 moves support rod 250 of welding station135 vertically upwardly to its most upright position and then positionscollet 255 to a X-Y coordinate position which axially aligns collet 255to the loading position for stud 270 as shown in FIG. 3. At thisposition collet 255 will be axially aligned with, but not engaged with,stud 270 (or stud 270 and ferrule 330 combination).

In a similar fashion and in response to the ‘Home Welding Station’command, positioning system 405 moves its corresponding are verticallyupwardly to its most upright position and then positions welding collet256 over the position where its stud, or stud-ferrule combination willbe placed, and at this position collet 256 will be axially aligned with,but not engaged with its stud (or stud and ferrule combination).

It is assumed that the stud or stud-ferrule combination has beenpreviously positioned for both welding stations 135 and 140 byconventional means—which may include those described in U.S. Pat. No.5,130,510—and further that the positions of the stud or stud-ferrulecombination for welding stations 135 and 140 are known. Unless ferrule330 has been previously manually placed onto beam surface 70, stud 270has been inserted into ferrule 330 during the stud loading process asshown in FIG. 4 of the drawing. The home positions top view for bothwelding stations 135 and 140 are shown in FIG. 1.

Positioning system 400 then moves support block 245 in the negativeZ-direction until collet 255 engages head 265 of stud 270, fully seatinghead 265 of stud 270 within collet 255. The Z-direction distance iscomputed using the length of stud 277 previously stored in memory block720 and system distance offsets stored in memory block 725.

Positioning system 400 then energizes solenoid 305 via cable 470 therebypulling plunger 320 into solenoid 305. The force exerted on arm 290 bysolenoid 305 through plunger 320 rotates arm 290 around pin 295 indirection 316, simultaneously compressing spring 300.

Arm 290 continues to rotate around pin 295 in direction 316 until arm290 engages adjustable stop 296. With arm 290 resting against adjustablestop 296, arm 310 engages the lower portion of the shank of stud 270.Positioning system 400 then energizes electromagnet 335 via cable 337magnetically locking stud 270 to arm 310 and coaxially aligning stud 270vertically with collet 255.

If ferrule 330 has been previously loaded along with stud 270 as shownin FIG. 4, arm 325 would then further engage ferrule 330 holding collet255 against the lower shank portion of stud 270. If ferrule 330 has beenpreviously manually placed onto beam surface 70, arm 325 does not engagestud 270.

Stud 270 (along with ferrule 330 if required) is now vertically alignedand ready to be moved by positioning system 400 over a welding site.With stud 270 engaged and aligned with collet 255, positioning system400 sends a ‘Stud Loaded’ signal to computer 155 via buses 460 and 435.A similar ‘Stud Loaded” signal is sent by positioning system 405 tocomputer 155 via buses 465 and 435. These positions are defined as thehome positions for welding stations 135 and 140 (and include theirrespective studs or stud-ferrule combinations engaged in theirrespective collets).

Upon computer 155 receiving both ‘Stud Loaded’ signals from bothpositioning systems 400 and 405, program flow continues to step 1065.

In step 1065, computer 155 then sends a ‘Move Carriage In +X′ Direction’to control system 157 via buses 435 and 158. In response to thiscommand, control system 157, along with drive system 156, begins to movecarriage 15 along longitudinal axis 51 of beam 50 in the +X′ axisdirection. Program flow continues to step 1070.

In step 1070, computer 155 inputs the current Z value from sensor 65 viabuses 66 and 435 and stores this value in memory location 709. Programflow then proceeds to step 1075.

In step 1075, computer 155 continuously compares the current Z distancevalue stored in memory location 709 from sensor 65 to the previouslystored value Z0 in memory location 703. As carriage 15 begins movingalong Z-axis 29, computer 155 continually inputs Z distance information.If the current value is not less than Z0 (indicating sensor 65 is stillreading the distance from the carriage to the bottom surface 80 of beam50), program flows back to step 1070 having computer 155 inputting thecurrent sensor 65 Z distance value as carriage 15 is still moving in thepositive X′-axis direction.

If the current sensor 65 Z distance value changes and is less than Z0(indicating sensor 65 is now over beam 50), program flow proceeds tostep 1080. Note that a Z distance change indicates that the beginningedge 71 of beam 50 has been detected.

In step 1080, computer 155 stores the latest Z value as Z1 (indicatingthat sensor 65 position is now over the beginning edge 71 of beam 50) inmemory location 702. The Z1 data represents the distance from sensor 65to beam surface 70. Computer 155 may also compute beam height 85 usingthe Z0 and Z1 distance readings as a check against the beam height datapreviously entered by the operator or previously stored in a look-uptable containing beam data. Program flow then proceeds to step 1085.

In step 1085, computer 155 inputs X′ positional data from sensor 120 viabuses 141 and 435 and stores the X′ position value for beginning edge 71position in memory location 707. Alternately, imager 90 may begin toimage beam surface 70 at the start of carriage 15 movement and, alongwith machine vision acquisition and analysis program 550, may determinebeginning edge 71 of beam 50 using conventional digital image processingalgorithms. In either case the X′-axis position of beginning edge 71 ofbeam 50 is known (referenced to the X′=0 position marker) and storedinto data memory location 707. Program flow then proceeds to step 1090.

In step 1090, computer 155 inputs the current Z distance from sensor 65and checks if this value is greater than Z1 indicating that the Z sensorhas passed ending edge 72 of beam 50. Alternately, imager 90 candetermine the ending edge 72 of beam 50 using conventional digital imageprocessing algorithms. In either case the X′-axis position of endingedge 72 of beam 50 is known and stored into data memory location 708. Ifsensor 65 (or imager 90) has not detected beam ending edge 72, computer155 proceeds to 1100; otherwise, computer 155 proceeds to step 1200.

In step 1100, computer 155 checks if the current X′ carriage position isequal to a welding site coordinate Xw′ pointed to by pointer P (noted asXw′ (P) in FIG. 9). The welding site coordinate Xw′ is determined andoffset corrected from the image of the beam surface 70. If a weldingsite Xw′ coordinate value equals the current X′ coordinate value,computer 155 then proceeds to step 1105 where carriage 15 is stopped viasystems 156 and 157. If a welding site coordinate value Xw′ does notequal the current X′ coordinate value, computer 155 then proceeds tostep 1110. Initially, welding site coordinate Xw′ has been set to 0during step 1010 and will not equal the current X′ carriage positioncoordinate. Computer 155 will then initially proceed directly to step1110. It is understood that the welding sites X-Y-Z coordinates aretransformed to the X′-Y′-Z′ coordinate system using offset adjustmentsand known coordinate transformation methods.

In step 1110, computer 155 acquires images of surface 70 from imager 90using image and machine vision acquisition and analysis program 550 andimage acquisition system 475. System 475 periodically sends triggersignals to imager 90 via buses 435 and 110, and in response to thetrigger signal, imager 90 captures the respective raw image and sendsthe image data to system 475 using buses 110 and 435 to imageacquisition system 475. Additionally, at the instant when the image wascompletely captured computer 155 further obtains the X′ positional datafrom sensor 120 via buses 141 and 435. Computer 155 then stores theacquired raw image data along the X′ position of carriage 15 into memoryblock 722 of data memory 520. Machine vision program 550 then uses thepreviously determined camera calibration parameters stored in memoryblock 721 and the camera (imager) calibration algorithm to correct theraw image for lens distortion and other imager 90 factors and stores thecorrected image data along with the X′ position to memory block 723.Program flow proceeds to step 1115.

In step 1115, computer 155 determines, using the stored corrected imageof surface 70 and machine vision acquisition and analysis program 550 ifa welding site is identified in the previously corrected image which isstored in memory block 723.

Program 550 identifies a welding site in the stored image by firstfiltering the entire image using grayscale thresholding. Ground weldingsites 600 have a higher light reflectivity (electromagnetic energyreflectivity) and therefore a higher grayscale value than thesurrounding dull beam surface 70. Next program 550 determines pixelconnectivity to define the welding sites 600 and then further determinesif the area of the identified imaged welding site equals or exceeds aminimum area value based upon the previously input stud diameter. Forexample, for a 0.75 inch diameter stud, a minimum welding site area mayhave a diameter of 1 inch (which approximately equals an area of 0.78square inches) may be considered acceptable. If a welding site has beenidentified, program flow then proceeds to step 1120, otherwise programflow proceeds back to step 1090.

In step 1120, computer 155 determines the “center of mass” for eachidentified welding site. The “center of mass” term is well known in theart of digital image processing and refers to the process of firstdetermining connected components (images of welding sites) in step 1115and then computes for each welding site the (u,v) value for the ‘centerof mass’ (i.e., the first moment) using conventional algorithms whichhave been developed to perform this particular task.

Since most of the previously ground welding sites will have a somewhatdefined shaped (generally circular or rectangular shaped), the center ofmass coordinates for each welding site is used to define the weldingsite position for stud 270. Program flow then proceeds to step 1122.

In step 1122, computer 155 using the stored corrected image of surface70 and machine vision acquisition and analysis program 550, identifiesthe line images 665 and 670 for beam edges 675 and 680 respectively.Computer 155 then determines Δu 657 pixel value, and knowing the widthof beam 50 which has been stored in memory block 720, calculates theobject distance to pixel distance ratio. For example, if the beam widthis 10 inches and Δu is calculated to be 500 pixels, then the object topixel distance ratio is 0.020 inches per pixel. Each pixel now has anequivalent object distance value. This ratio is used to calculate thecenter of mass (u,v) coordinates and the X′-Y′ coordinates of weldingsites 600 (using the system offsets), and this ratio is stored in memorylocation 701. Computer 155 then proceeds to step 1125.

In step 1125, computer 155 determines the X′-Y′-Z′ coordinates for eachwelding site using the system coordinate offsets and the previouscalculated object to pixel distance ratio. As carriage 15 moves along inthe X′ direction, imager 90 could possibly capture a sequence of imagesdisplaced in the X′ direction which could contain the exact same weldingsites. These duplicate welding sites are eliminated from the X′-Y′-Z′welding site coordinate table and only one set of coordinates perwelding site 600 is calculated. A table of these unique welding sitesX_(w)′-Y_(w)′-Z_(w)′ coordinates is further formed. Computer 155 thenproceeds to step 1130.

In step 1130, computer 155 orders and then stores the unique weldingsite 600 X′-Y′-Z′ welding site coordinates determined in step 1125beginning first with the X_(w)′ coordinate value (which will always bepositive) and then the Y_(w)′ coordinate value which could be negative(if the welding site is to the left of the Y′ axis origin), positive (ifthe welding site is to the right of the Y′ axis origin) or equal to 0 ifthe welding site lies on the Y′ axis origin, and finally the Z′coordinate value. The X_(w)′-Y_(w)′-Z_(w)′ coordinates are stored incontiguous memory locations contained within memory block 724 andpointed to by pointer N as shown in FIG. 9. For eachX_(w)′-Y_(w)′-Z_(w)′ coordinate group stored in memory, pointer N isincremented to point to the next available free memory location to storethe next unique X_(w)′-Y_(w)′-Z_(w)′ coordinate group. Computer 155 thenproceeds back to the beginning of step 1090.

Referring back to FIG. 13C, and specifically step 1100, if the X′(offset adjusted to account for the X offsets of the welding stations135 and 140) position of carriage 15 equals the X′ coordinate value of awelding site 600, computer 155 proceeds to step 1105.

In step 1105, computer 155 sends a ‘Stop Carriage’ command to controlsystem 157 which, through drive system 156, stops the movement ofcarriage 15. At this point carriage 15 is at a stopped position alongthe X′ axis where welding stations 135 and 140 can place the stud orstud-ferrule combination respectively at the correct (offset corrected)welding sites. Program flow continues to step 1140.

In step 1140, computer 155 then determines the corresponding Y_(w)′coordinate of the X_(w)′-Y_(w)′ coordinate pair pointed to by pointer Pin memory block 724 and determines if the corresponding value of Y_(w)′is negative or if the value of Y_(w)′ is zero or positive. If Y_(w)′ isnegative, computer 155 proceeds to step 1145. If Y_(w)′ is positive orequals zero, computer 155 proceeds to step 1165.

In step 1145, computer 155 commands station 135 (via positioning system400) to first raise collet 255 at the farthest point above top surface160 of carriage 15, and then commands station 135 to move base 205 inthe −X direction a distance (offset adjusted) required to place stud 270at the calculated X_(w)′ welding coordinate. Computer 155 then commandsstation 135 (via positioning system 400) to move stud 270 in the Ydirection a distance (offset adjusted) required to place stud 270 orstud 270-ferrule 330 combination at the calculated Y_(w)′ weldingcoordinate. Computer 155 then commands station 135 (via positioningsystem 400) to move the stud (or stud-ferrule combination) in the Zdirection a vertically downward distance (offset adjusted to account forthe stud length and the distance from carriage 15 to beam surface 70,etc.) so that the bottom welding surface 271 of stud 270 comes intocontact with the welding site defined by the X_(w)′-Y_(w)′-Z_(w)′coordinate group. Computer 155 then proceeds to step 1150.

In step 1150, computer 155 sends a ‘Start Welding’ signal via bus 450 towelding control circuit 410. Control circuit 410 begins the weldingprocess using the previous programmed welding parameters stored inmemory block 720. Program flow continues to step 1155.

In step 1155, welding control circuit 410 continually checks todetermine if the welding cycle has been completed. If the welding cyclein not completed, program flow proceeds to step 1150 and continues withthe stud welding process. Further, a ‘Welding Cycle Completed’ signal issent from control circuit 410 back to computer 155 via bus 450. When thewelding cycle is completed, program flow continues to step 1156.

In step 1156, computer 155, in response to receiving the ‘Welding CycleCompleted’ signal from welding control circuit 410, signals positioningsystem 400 to momentarily energize solenoid 326 which thrusts pointedplunger 327 into the side of ferrule 330, fracturing the body of ferrule330. Also, since the stud has been welded to surface 70, system 400de-energizes solenoid 329 which releases arm 290 from holding onto shank266 and de-energizes solenoid 305 which allows arm 290 to move indirection 315 under the biasing force of compression spring 300 awayfrom stud 270. Support rod 250 may now be moved vertically, disengagingcollet 255 from stud head 265. Computer 155 additionally knows the X-Y-Zposition of collet 255. Program flow then proceeds to step 1160.

In step 1160, computer sends a ‘Home Welding Station’ command topositioning system 400. In response to the ‘Home Welding Station’command, position system moves lower base 205, upper base 230 and block245 of welding station 135 into its home position previously defined andloads a stud or stud-ferrule combination into collet 255. Program thenproceeds to step 1185.

Referring back to step 1140 of FIG. 13D, if Y_(w)′ is positive or equalszero, computer 155 proceeds to step 1165.

In step 1165, computer commands the welding station 140 (via positioningsystem 405) to first raise collet 256 at the farthest point above topsurface 160 of carriage 15, and then commands the welding station 140 tomove base 206 in the −X direction a distance (offset adjusted) requiredto place the previously loaded stud or stud-ferrule combination at thecalculated X_(w)′ welding coordinate. Computer 155 then commands thewelding station 140 (via positioning system 405) to further move thestud in the Y direction a distance (offset adjusted) required to placethe stud or stud-ferrule combination at the calculated Y_(w)′ weldingcoordinate. Computer 155 then commands the welding station 140 (viapositioning system 405) to move the stud or stud-ferrule combination inthe Z direction a vertically downward distance (offset adjusted toaccount for the stud length and the distance from carriage 15 to beamsurface 70, etc.) so that the bottom surface of its respective studcomes into contact with the welding site defined by theX_(w)′-Y_(w)′-Z_(w)′ coordinates. Computer 155 then proceeds to step1170.

In step 1170, computer 155 sends a ‘Start Welding’ signal via bus 450 towelding control circuit 415. Control circuit 415 begins the weldingprocess using the previous programmed welding parameters stored inmemory block 715. Program flow continues to step 1175.

In step 1175, welding control circuit 415 continually checks todetermine if the welding cycle has been completed. If the welding cyclein not completed, program flow proceeds to step 1170 and continues withthe welding process. Further, a ‘Welding Cycle Completed’ signal is sentfrom control circuit 415 back to computer 155 via bus 455. When thewelding cycle is completed, program flow continues to step 1176.

In step 1176, computer 155, in response to receiving the ‘Welding CycleCompleted’ signal from welding control circuit 415, signals positioningsystem 405 to momentarily energize solenoid 329 which thrusts itspointed plunger into the side of its ferrule, fracturing the body of theferrule. Also, since the stud has been welded to surface 70, system 405de-energizes solenoid 430 which releases its respective arm from holdingonto the shank of its respective stud and de-energizes solenoid 430which allows its respective arm to move away from its respective stud.Its respective arm may now be moved vertically disengaging collet 256from its respective stud head. Computer 155 additionally knows the X-Y-Zposition of collet 256. Program flow then proceeds to step 1180.

In step 1180, computer sends a ‘Home Welding Station’ command topositioning system 405. In response to the ‘Home Welding Station’command, positioning system 405 moves welding station 140 into its homeposition previously defined, and loads a stud or stud-ferrulecombination into collet 256. Program then proceeds to step 1185.

In step 1185, pointer P is incremented to point to the beginning of thenext welding site X_(w)′-Y_(w)′-Z_(w)′ group coordinate value. Programflow continues to step 1190.

In step 1190, the current X_(w)′ coordinate value (now referred to asX_(w)′(P)) is compared against the previous X_(w)′ coordinate value (nowreferred to as X_(w)′ (P−1)). If the current X_(w)′(P) coordinate valueequals the X_(w)′(P−1) coordinate value, program flow proceeds back tostep 1140. When this occurs, it means that there are additional weldingsites which have the same X_(w)′ coordinate value and the onlydifference is in the Y_(w)′ coordinate values. If the current X_(w)′(P)coordinate value does not equal the X_(w)′(P−1) coordinate value,program flow proceeds to step 1195.

In step 1195, computer 155 commands system 157 to begin to move carriage15 in the positive X′ direction. Program flow then proceeds back to step1090.

Referring back to step 1090, if beam ending edge 72 is detected bysensor 65 and imaged by imager 90 (taking into consideration thepositional offset between sensor 65 and imager 90), all unique remainingwelding sites 600 have now been imaged and their respective X′-Y′-Z′coordinates determined using machine vision program 550. Program flowproceeds to step 1200.

In step 1200, all unique welding sites 600 have been saved into memoryblock 724 and pointer N now points to the next available and free memorylocation in block 724. However, N is no longer going to be incremented,because there are no more unique welding site coordinates. Pointer P isincremented after each stud welding process. If P is not greater than N,program flow proceeds back to step 1100 and there are more sites to bewelded. If P is greater than N, program flow continues to step 1210.

In step 1210, computer 155 commands system 157 to stop carriage 15. Allwelding sites 600 now have a welded stud in place.

Referring now to FIGS. 14 and 15, a second embodiment of a roboticwelding system 1300 is shown resting on surface 1303 of corrugated steelsupport structure 1308, positioned above and longitudinally aligned overI-beam 1302. In this embodiment, the welding system 1300 istractor-propelled. Corrugated structure 1308 has been previouslyattached to top surface 1304 of beam 1302. Top surface 1304 has furtherground welding sites 1306 where conventional studs may be welded bywelding system 1300.

Welding system 1300 has rectangular frame 1350 which includes front andrear transverse frame members 1354 and 1353 respectively, andlongitudinal right and left frame members 1351 and 1352 respectively. Aconventional X-Y-Z right hand coordinate system 1484 is defined andlocated on the top surface and in the middle of front frame member 1354.

Welding system 1300 is propelled by conventional right and left tracks1305 and 1310 respectively. Tracks 1305 and 1310 are identical andcomprise individual track shoes (pads) 1307. Tracks 1305 and 1310 may bepowered by conventional right and left hydrostatic drives 1320 and 1325respectively and located towards the rear of welding system 1300.Hydrostatic drives 1320 and 1325 are identical and are further connectedto right and left rear sprocket drive wheels 1410 (not shown in FIG. 15)and 1415, and are able to independently and controllably rotate theirrespective drive wheels 1410 and 1415 in a clockwise 1417 andcounter-clockwise 1418 direction (the clockwise and counter-clockwisedirections are defined when viewing the drive wheels from the exposedside). Other types of electromechanical drives may be used in place ofhydrostatic drives 1320 and 1325 to produce torque and include forexample, conventional servo, brushless and stepper electrical motors. Inalternate embodiments, hydraulic motors may also be used in place of thehydrostatic drives 1320 and 1325.

Tracks 1305 and 1310 are adapted to engage sprocket drive wheels 1410and 1415 respectively. Support wheels 1423 a-1423 f (noted as wheels1423 for track 1305 and not shown) and 1422 a-1422 f (noted as wheels1422 for track 1310) are each attached to frame 1350 and engage andprovide rotating support for tracks 1305 and 1310 respectively.Additionally, the use of tracks 1305 and 1310 enables the welding system1300 to smoothly traverse corrugated structure 1308 without significantvertical movement (a wheeled vehicle would tend to “bounce” along theuneven surface 1303 having its tires subsequently going into and out ofthe corrugated depressions).

Front right and front left sprocket wheels 1412 (not shown) and 1416respectively further engage their respective tracks 1305 and 1310, arenot powered, freely rotate, and are attached to rectangular frame 1350via conventional axle assemblies 1315 and 1330, respectively.

It is therefore understood that the welding system 1300 may be smoothlypropelled along surface 1303 in forward 1340 or reverse 1345 directionsalong longitudinal direction 1419 of beam 1302 by controlling drives1320 and 1325, and further that welding system 1300 may be smoothlypropelled along a rightward 1420 or leftward 1421 curved paths bycontrollably and independently adjusting the rotational speed of eachdrive 1320 and 1325. For example, powering drive wheel 1410 at a higherangular velocity than drive wheel 1415 causes welding system 1300 toturn in leftward direction 1421. The actual operational control ofconventional drives 1320 and 1325 is further discussed with reference toFIG. 16.

Frame 1350 top surface further comprises longitudinal right 1355 andleft 1360 rail support members. The rearward ends of support members1355 and 1360 are attached to the top surface of rearward frame member1353 via conventional right angle brackets 1400 and 1395 respectively.The forward ends of support members 1355 and 1360 are attached to thetop surface of forward frame member 1354 via conventional right anglebrackets 1405 and 1390 respectively.

Alternately, right 1355 and left 1360 rail support members may be weldedto frame members 1353 and 1354. Support members 1355 and 1360 arealigned parallel to one another and to frame members 1351 and 1352 andare displaced laterally from one another by an inside lateral distancewhich substantially exceeds the width of beam 1302 so as not to obstructa downward view of beam top surface 1304.

Affixed to the top surfaces of right 1355 and left 1360 rail supportmembers are right rail support 1365 and left rail support 1370respectively. Conventional machine screws 1385 are used to affix railsupports 1365 and 1370 to their respective rail support members 1355 an1360. Rail supports 1365 and 1370 are similar in construction topreviously mentioned rail supports 30 and 35 in FIG. 1. Mounted ontoeach rail support 1365 and 1370 are parallel and coplanar round rails1375 and 1380 respectively.

Right pillow blocks 1425 and 1427 are mounted onto rail 1375 and leftpillow blocks 1429 and 1431 are mounted onto rail 1380. A first supportplate 1430 is mounted onto the top of pillow blocks 1425, 1427, 1429 and1431 using conventional machine screws 1432 (there are four machinescrews 1432 shown per pillow block).

Further attached to rail 1375 are fixed forward stop 1375 a and fixedrearward stop 1375 b, and further attached to rail 1380 are fixedforward stop 1380 a and fixed rearward stop 1380 b. Stops 1376 and 1381limit the longitudinal position of first support plate 1430 along rails1375 and 1380 in the forward 1435 direction, and stops 1377 and 1382limit the longitudinal position of first support plate 1430 along rails1375 and 1380 in the rearward 1440 direction.

Mounted on top and affixed to surface 1472 of first support plate 1430is lateral and forward positioned shaft support 1475 and lateral andrearward positioned shaft support 1476 (both are not shown in FIG. 14for clarity), both of which extend the entire lateral length of firstsupport plate 1470. Both shaft supports 1475 and 1476 are parallel andco-planar to one another.

Mounted on top of shaft supports 1475 and 1476 are round rails 1477 and1478 respectively. Two pillow blocks 1480 and 1481 (not shown) engagerail 1477 and two pillow blocks 1482 (not shown) and 1483 engage rail1478. Rails 1477 and 1478 are parallel to each other and both areorthogonal to rails 1375 and 1380. A second support plate 1486 ismounted on top of pillow blocks 1480, 1481, 1482 and 1483.

Note that second support plate 1486, pillow blocks 1480, 1481, 1482 and1483, rail and rail supports 1477, 1478, 1475 and 1476 are not shown inFIG. 14 for clarity.

The double rail configuration of parallel rails 1375 and 1380 incombination with their respective attached pillow blocks provide anon-rotatable and vertically stable horizontal platform for attachedfirst support plate 1430, and the double rail configuration of parallelrails 1477 and 1478 in combination with their respective attached pillowblocks provide a non-rotatable and vertically stable horizontal platformfor attached second support plate 1486.

Computer 1595 is attached to frame member 1353 and is further discussedwith respect of FIGS. 17 and 18.

Referring specifically to FIG. 15, affixed on to the top surface ofsecond support plate 1486 is vertical support member 1500 which extendsin a positive Z-axis direction of coordinate system 1484. Left and rightgusset plates 1505 and 1507 (not shown) further attach and supportvertical support member 1500 to second support plate 1486 via machinescrews 1506 (six machine screws 1506 are shown holding gusset 1505 tovertical support member 1500).

Further attached to vertical support 1500 is moveable support block1510. Block 1510 is supported on vertical support 1500 by two verticallypositioned and co-planar parallel rails 1530 and 1531 (not shown), railsupports 1537 and 1538 (not shown for clarity) and respective pillowblocks 1533 and 1534 for rail 1530 and pillow blocks 1535 and 1536 (notshown) for rail 1531) in a similar fashion in which first support plate1430 is supported. The combination of rails 1530 and 1531, rail supports1537 and 1538, and pillow blocks 1533, 1534, 1535 and 1536 allows block1510 to freely move in vertical direction 1512 which is parallel withthe Z-axis of coordinate system 1484 (the Z-axis points upward fromwelding system 1300).

The double rail configuration of parallel rails 1530 and 1531 incombination with their respective attached pillow blocks provide anon-rotatable and stable vertical platform for attached block 1510.

Attached to block 1510 is welding collet support rod 1515. On the distalend of collet support rod 1515 is affixed stud collet 1517 for engaginghead portion 265 of stud 270 (referred to and shown in FIG. 3). Stud 270has been usually previously axially aligned with collet 1517 and, if aceramic ferrule 330 is required to be placed over welding site 1306along with stud 270, stud shank 266 has been inserted into and isaxially aligned with ceramic ferrule 330.

Conventional techniques for feeding and aligning both studs and ferrulesinto collets have been previously discussed herein with reference toU.S. Pat. No. 5,130,510, which has also been incorporated by referenceherein.

Outwardly attached to support rod 1515 is bracket 1540. As previouslydiscussed in reference to FIGS. 4 and 5, bracket 1540 supportsnon-electrically conducting arm 1542 via pin 1544. Arm 1542 isconstructed from electrically insulating material so that electricalwelding current flows only through rod 1515 and collet 1517 to stud 270.Arm 1542 is further rotatable about pin 1544 in counter clockwisedirection 1546 and clockwise direction 1547. An adjustable stop 1548limits arm 1542 rotation in the 1547 direction.

Compression spring 1549 is affixed to support rod 1515 above collet 1517and engages arm 1542. Spring 1549 biases arm 1542 in direction 1546.Further attached to 1515 above compression spring 1549 location butbelow bracket 1540 is solenoid 1550 energized via cable 1551 (not shownin FIG. 15) and having plunger 1552. The extended portion of plunger1552 is moveably affixed to bracket 1540. Plunger 1552 also limits arm1542 rotation in the 1546 direction. Arm 1542 has further an extendedstud alignment arm 1554 having an electro-magnet 1558, and an extendedferrule holding arm 1556, all not shown in FIG. 15, but similar to thoserespective components shown in FIG. 5. Electromagnet 1558 when energizedvia cable 1557 (not shown in FIG. 15) forcibly creates an attractivemagnetic field which pulls and aligns shank 266 of stud 270 into aco-axially aligned position with collet 1517 (and ferrule 330 ifpreviously loaded along with stud 270).

Additionally attached to ferrule holding arm 1556 is solenoid 1559having pointed plunger 1560 (both not shown). Plunger 1560 is laterallydirected at ferrule 330. When solenoid 1559 is energized via cable 1561,plunger 1560 is forcibly extended out of solenoid 1559 having itspointed end forcibly engaging and subsequently splitting and fracturingferrule 330.

The stud alignment and engaging system comprising rod 1515, bracket1540, arm 1542, collet 1517, pin 1544, adjustable stop 1548, compressionspring 1549, solenoid 1550, stud alignment arm 1554, electromagnet 1558,ferrule holding arm 1556, solenoid 1559 and other associated elements(including cables for the solenoids and electromagnet) is structurallyand operationally identical to the described stud alignment and engagingsystem previously disclosed in reference to FIGS. 4 and 5.

Thus during the welding process support rod 1515 aligns and supportsstud 270 (which may include ferrule 330) in a vertical position andafter the welding process is completed may further fracture ferrule 330for subsequent removal from welding site 1306.

To precisely position the stud or stud-ferrule combination within X-Y-Zcoordinate system 1484 (within the positional constraints of the actualrail systems) and to control the engaging and disengaging of the stud orstud-ferrule combination, a conventional computer controlled X-Y-Z servopositioning and control system 1539 comprising a dedicated computer,motors, drive systems, positional feedback sensors, electronic circuitsetc. is provided which in combination, accurately moves and positionsfirst support plate 1430, second support plate 1486 and block 1510 alongtheir movement axes relative to coordinate system 1484 and furthercontrols solenoids 1550 and 1559 and electromagnet 1558 in response tocommands received from computer 1595.

For example, computer controlled X-Y-Z servo positioning and controlsystem 1539 may comprise a first electric motor 1460 mounted on framemember 1353 to controllably position first support plate 1430. The drivesystem for first support plate 1430 comprises a conventional first balland screw drive having first ball screw 1462 and first ball nut 1464.The shaft of motor 1460 (not shown) and ball screw 1462 are coaxiallyaligned and are parallel to the rails 1375 and 1380. The rearward end ofball screw 1462 is attached to the shaft of motor 1460 and the forwardend of ball screw 1462 is supported by bushing 1466. Bushing 1466 isfurther attached to frame member 1354 and allows ball screw 1462 tofreely rotate in response to motor 1460 shaft rotation. Ball nut 1464 isattached underneath first support plate 1430 (not shown in FIG. 15 forclarity). The ball and screw drive therefore transforms the shaftrotation of motor 1460 into linear motion for first support plate 1430.Thus it is understood that first support plate 1430 can be controllablymoved in the forward direction 1435 and rearward direction 1440 withrespect to welding system 1300 by controlling the shaft position (androtation) of motor 1460 via computer controlled X-Y-Z servo positioningand control system 1539.

Motor 1460 may be a conventional stepper motor, servo motor or brushlessmotor having, for example, a shaft encoder for determining the angularposition of the shaft of motor 1460. Further, the shaft of motor 1460may be attached to the input shaft of a conventional gearbox, the outputshaft of the gearbox being attached to the motor end of ball screw 1462.Power and signal data are communicated to motor 1460 via cable 1461.

Computer controlled X-Y-Z servo positioning and control system 1539 mayfurther comprise electric motor 1488 which is attached to andlongitudinally centered on first support plate 1430. The shaft of motor1488 is further attached to a second conventional ball and screw drivecomprising second ball screw 1490 and second ball nut 1491. The far endof ball screw 1490 is supported by bushing 1492, which is furtherattached to top 1472 of first support plate 1430. Ball nut 1491 isattached to the underside of second support plate 1486. The shaft ofmotor 1488 is coaxially aligned with ball screw 1490.

Rotation of the shaft of motor 1488 along with the action of the secondball and screw drive moves second support plate 1486 in transversedirections 1493 or 1494 depending upon the direction of shaft rotation.Thus it is understood that second support plate 1486 may be controllablymoved in a transverse direction by controlling the rotation of the shaftof motor 1488 via computer controlled X-Y-Z servo positioning andcontrol system 1539.

Motor 1488 may be a conventional stepper motor, servo motor or brushlessmotor having a shaft encoder for determining the angular position of theshaft of motor 1488. Further, the shaft of motor 1488 may be attached tothe input shaft of a conventional gearbox, the output shaft of thegearbox being attached to the motor end of second ball screw 1490. Powerand signal data are communicated to motor 1488 via cable 1489.

Computer controlled X-Y-Z servo positioning and control system 1539 mayfurther comprise third electric motor 1520 attached to vertical support1500 having its shaft vertically aligned with and engaging a verticallypositioned conventional third ball and screw drive comprising third ballscrew 1526 and third ball nut 1527, all of which are not shown. Ball nut1527 is further attached to support block 1510.

Rotation of the shaft of motor 1520 along with the action of the thirdball and screw drive moves support block 1510 in the plus and minus Z(vertical) axes direction 1512 depending upon the direction of shaftrotation.

Motor 1520 may be a conventional stepper motor, servo motor or brushlessmotor having a shaft encoder for determining the angular position of theshaft of motor 1520. Further, the shaft of motor 1520 may be attached tothe input shaft of a conventional gearbox, the output shaft of thegearbox being attached to the motor end of ball screw 1526. Power andsignal data are communicated to motor 1520 via cable 1521.

Thus it is understood that the vertical position (Z-axis position) ofblock 1510, and therefore collet support rod 1515, collet 1517 alongwith its collet inserted stud 270 (or stud-ferrule combination) can beprecisely controlled via computer controlled X-Y-Z servo positioning andcontrol system 1539.

In summary, it is therefore understood that the above described computercontrolled X-Y-Z servo positioning and control system 1539 enables firstsupport plate 1430 to be independently and controllably moved in theX-direction of coordinate system 1484 with respect to frame 1350, andfurther enables second support plate 1486 to be independently andcontrollably moved in the Y-direction of coordinate system 1484 withrespect to frame 1350, and yet further enables block 1510, and thereforecollet support rod 1515 and collet 1517 along with its collet insertedstud 270 (or stud-ferrule combination) to be independently andcontrollably moved in the Z-direction of coordinate system 1484 withrespect to frame 1350. The relative X-axis position of first supportplate 1430 with respect to origin of coordinate system 1484, therelative Y-axis position of second support plate 1486 with respect tothe origin of coordinate system 1484, the relative Z-axis position ofblock 1510 with respect to the origin of coordinate system 1484 may bedetermined from motors 1460, 1488 and 1520 shaft encoder signals, orother conventional techniques for measuring linear position which may beused by computer controlled X-Y-Z servo positioning and control system1539.

Further attached in the middle of rear frame member 1353 is verticallyaligned imager mounting stand 1443 having integral left and right imagermounting brackets 1445 and 1450 respectively. Imager 1570 is mountedbetween brackets 1445 and 1450 and is moveably held in place viacoaxially aligned left and right conventional tightening pins 1446 and1451 respectively. Tightening pins 1446 and 1451 allows imager 1570 tobe rotated about axis 1447 in clock wise direction 1571 or counter clockwise direction 1572 enabling imager 1570 to image area 1455 and whichincludes a portion of top surface 1304 of beam 1302 and a group ofwelding sites 1317. Imager 1570 is then locked into the desired positionby tightening pins 1446 and 1451. Imager 1570 further has lens element1575 and is equipped with an electronic shutter (not shown). Power andsignal data is communicated to imager 1570 via bus 1573.

Additionally attached underneath of frame member 1354 is Z-axisdownwardly pointing non-contacting conventional distance measuringsensor 1580 (shown in FIGS. 14 and 15). Sensor 1580 measures thevertical distance from welding system 1300 to the top surface 1304 ofbeam 1302 and is similar to sensor 65 described above. Sensor 1580communicates with computer 1595 via cable 1581.

Referring now additionally to FIG. 16, handheld remote control system1600 is shown having liquid crystal display (LCD) 1602, conventionaljoystick control 1610, fine forward control 1612, fine rearward control1614, fine left control 1616, fine right control 1618, ON button 1620,OFF button 1622, WELD button 1624, red colored light emitting diode(LED) 1628, E-STOP button 1626 and green LED 1630.

Remote control system 1600 is in electrical communication with computer1595 via cable 1632, or alternately may be in communication withcomputer 1595 via wireless signals 1634. Further, computer 1595 maydirectly control hydrostatic drives 1320 and 1325 via bi directional bus1672 (shown in FIG. 17) and may disable the hydrostatic drive controlfunction of control system 1600. Alternately, bus 1672 may be aconventional wireless bi-directional communication link. Additionally,control system 1600 may be directly mounted on to system 1300.

LCD 1602 projects an image of image area 1455 received from imager 1570.Thus an operator may view the alignment of welding system 1300 withrespect to beam 1302 using the displayed image within LCD 1602, and moreimportantly may determine if images 1640 and 1642 of longitudinal beamedges 1604 and 1606 respectively are generally parallel to the right1636 and left 1638 image edges of image area 1455, and if image 1644 oftop surface 1304 having images 1646 of the group of welding sites 1317are clearly visible within image area 1455.

The movement of welding system 1300 is controlled by the operator viajoystick control 1610, fine forward control 1612, fine rearward control1614, fine left control 1616, and fine right control 1618. Both low andhigh velocity movements (for example, 2 miles per hour or greater may beconsidered a high velocity movement) of welding system 1300 arecontrolled by joystick control 1610. For example, to initially andquickly place welding system 1300 over beam 1302 the operator would usejoystick control 1610. Steering welding system 1300 using the joystickcontrol 1610 requires the operator to slowly position the joystickcontrol 1610 in the general direction of the desired welding system 1300movement, for example, in the direction indicated by arrow 1648. A smalloff center displacement of joy stick 1610 in direction of arrow 1648slowly moves welding system 1300 in that direction. Moving joystick 1610further in the direction of the arrow 1648 increases the speed ofwelding system 1300 in that particular direction. Joystick control 1610is usually used to quickly position welding system over the beginning ofbeam 1302 before beginning the welding process.

During the welding process, the operator moves welding system 1300 usingthe fine forward control 1612, fine rearward control 1614, fine leftcontrol 1616, and fine right control 1618. These controls move weldingsystem 1300 slowly (for example, a few inches per second) in directionsindicated by the respective fine control arrows and enables the operatorto continually align welding system 1300 over surface 1303 and a groupof welding sites 1317 as welding system 1300 proceeds in longitudinaldirection 1419.

Movement control signals are sent directly to conventional hydrostaticdrives 1320 and 1325 via cable 1633 (not shown), or alternately viawireless signals 1634 (these signals are in addition to the signalscommunicated to and from computer 1595). Cable 1633 may be part of cable1632 or a completely separate cable.

To begin moving welding system 1300, the operator depresses ON button1620 which starts hydrostatic drives 1320 and 1325. To turn offhydrostatic drives 1320 and 1325, the operator depresses OFF button1622. The operator then uses handheld remote control system 1600 (inparticular joystick 1610) to correctly position welding system 1300 overtop surface 1304 by viewing the image displayed on LCD 1602 and aligningthe images 1640 with 1642 with image edge lines 1636 and 1638respectively, generally keeping the image of beam top surface 1304centered laterally within the view.

Having properly aligned and positioned welding system 1300 over topsurface 1304, the operator depresses the WELD button 1624 to initiate awelding cycle. Depressing the WELD button locks hydrostatic drives 1320and 1325 and prevents movement of welding system 1300, and begins thewelding process (described later). Additionally, red LED 1628 isilluminated. An emergency E-STOP button 1626 is provided to cease allwelding system 1300 operations including any in progress weldingprocesses or welding system 1300 movement. When the welding process iscompleted, LED 1628 is turned off (not illuminated) and green LED 1630is turned on (illuminated) indicating that welding system 1300 may bemoved to another welding site to initiate another welding process.

Referring now to FIG. 17, a schematic block diagram 1650 of weldingsystem 1300 is shown and comprises computer 1595, keyboard 1654, display1656, right hydrostatic drive 1320, left hydrostatic drive 1325,handheld remote control system 1600, Z distance sensor 1580, imager1570, welding controller circuit 1652, power supply 1658, and computercontrolled X-Y-Z servo positioning and control system 1539 havingsolenoids 1550 and 1559 and electromagnet 1558. Additionally allcomponents of computer controlled X-Y-Z servo positioning and controlsystem 1539 may communicate with computer 1595 via bus 1562. Computer1595 has further image acquisition system 1651.

Keyboard 1654, display 1656, Z-distance sensor 1580, imager 1570,welding controller circuit 1652, conventional computer controlled X-Y-Zservo positioning and control system 1539, image acquisition system1651, and power supply 1658 are identical in all respects to keyboard420, display 425, Z-distance sensor 65, imager 90, welding stationcontrol circuit 410, conventional computer controlled servo positioningsystem 400, image acquisition system 475 and power supply 121,respectively.

Computer 1595 communicates with imager 1570, handheld remote controlsystem 1600, and Z-distance sensor 1580 via dedicated local buses 1573,1632 and 1581 respectively. All local buses 1573, 1632, 1562 and 1581are grouped and become part of bus 1670, and all components connected tomain communication bus 1670 are in bi-directional communication witheach other.

Additionally keyboard 1654, LCD display 1656 and welding control circuit1652 communicate with computer 1595 via bi-directional buses 1662, 1664and 1666. Power supply 1658 supplies electrical power to all componentsshown in FIG. 17.

Computer 1595 is further a conventional computer having communicationports which allow the attachment of computer peripherals. Thesecommunication ports include, for example, USB ports, wirelessconnections such as WiFi, and internet connectivity.

Referring now additionally to FIG. 18, computer 1595 further comprisesoperating system program 1700, program memory 1710, and data memory1720.

Operating system (OS) program 1700 is similar to operating systemprogram 500 and is a conventional real time operating system (RTOS) ormay be a Windows based operating system, or other available operatingsystems such as LINUX. OS program 1700 is able to execute programscontained in program memory 1710 by conventional means.

Program memory 1710 further comprises Z-direction sensor 1580 dataacquisition program 1750 and is identical to program 530.

Machine vision acquisition and analysis program 1752 is similar tomachine vision acquisition and analysis program 550 except that no X′position data is acquired. For example, machine vision acquisition andanalysis program 1752 controls image acquisition system 1651, andtherefore the acquisition of images from imager 1570. Control signalsare sent to imager 1570 through system 1651 by program 1752 and includeimage trigger signal (i.e., when to acquire a raw image) and anelectronic shutter signal (i.e., how long should the image be acquired).

Program 1752 also includes the camera calibration algorithm whichcorrects the raw image data input from imager 1570 for lens distortionand other non-ideal camera and image parameters. When an image istriggered, program 1752 then stores the calibrated image data to datamemory 1720.

Program 1752 also analyzes the stored image captured by imager 1570 andincludes identifying each welding site within the image usingconventional image segmentation algorithms. Such algorithms includeimage thresholding algorithms where welding sites are identified usingthe difference in grayscale values between the bright reflective weldingsite and the dull non-reflecting beam surface, and is well known in theart of image processing and analysis.

Program 1752 further identifies the center of each welding site (whichmay include the center of a manually placed ferrule 330), calculates theconvention (u-v) pixel coordinates of the center of each non-repeatedidentified welding site, calculates the X-Y positions of the center ofeach non-repeated welding site, identifies the line images of edges 1640and 1642 of beam 1302, determines the respective u coordinates for theline images of beam edges 1640 and 1642, determines the number of pixelsbetween the line images of beam edges 1604 and 1606 using the line imageu coordinates, and calculates the image pixel distance to objectdistance ratio from the beam edges 1604 and 1606 using beam width inputdata in addition to other image analysis and processing functions. Dataincluding the (u,v) pixel coordinates of the center of every identifiedwelding site and the X-Y coordinates for each welding site, along withthe calculated pixel to object distance ratio is stored in data memory1720, in addition to other data. Program 1752 also computes, using thecamera calibration algorithm, the camera calibration parameters whichare used to correct the raw image for lens distortion and stores theseparameters in data memory 1720.

Program 1752 further identifies the images of the top edges 1604 and1606 and determines their respective image u coordinate values andstores the u-coordinates data into data memory 1720, and may alsoidentify the images of beginning 71 and ending 72 beam edges (shown inFIG. 1) respectively and determine their respective image u-v coordinatevalue.

Program 1754 X-Y-Z positioning and control system program is similar toprogram 540 for controlling the position of stud (or stud ferrule)collet 1517 via welding station control system 1539.

Once studs have been welded onto top surface 1304, concrete 1309 orother material is then lastly poured over the corrugations of structure1308 and the top 1304 of I-beam 1302 having previously welded studs,providing a strong and smooth concrete-steel composite structure. Thewelded studs provide lateral structural support for the hardenedconcrete.

Referring now generally to FIGS. 19-29, a third embodiment of a weldingsystem 2010 in accordance with the present invention will now bedescribed in detail. In this embodiment, the welding system 2010 isdesigned to ride alongside an I-beam 2001 to which studs are to bewelded, as opposed to directly above the I-beam 2001 as shown in theembodiment of FIGS. 14-18. In this embodiment, the welding system 2010comprises a tractor 2012 having a frame 2014 and a pair of tracks 2016a,2016 b, each of which comprises a respective track shoe 2018 a,2018 b.The tracks 2016 a,2016 b are each operated by a respective one of a pairof hydraulic wheel motor 2017 a,2017 b (see FIGS. 19, 27, and 29). Inthis embodiment, the hydraulic wheel motors 2017 a,2017 b are Model No.PHK-1B hydraulic motors produced by Nachi America, Inc. of Greenwood,Ind., U.S.A., although other hydraulic motors would be suitable inalternate embodiments of the present invention. As shown in theembodiment of FIGS. 14 and 15, during use the tracks 2016 a,2016 b ofthe tractor 2012 move along corrugated support structure panels (e.g.,metal panels) or planar planking (e.g., plywood sheets) that have beeninstalled on the work surface adjacent to the I-beam 2001 and betweenpairs of I-beams, as is traditional in the art. Corrugated metal panelsare shown in the embodiment of FIGS. 14-18 (see reference numeral 1308),but for convenience are not depicted in FIGS. 19-28. The tracks 2016a,2016 b will generally move transverse to the corrugations in thepanels. A top splash plate 2020 is attached to the frame 2014 andprevents water and debris from splashing up and contacting thoseportions of the welding system 2010 located above the frame 2014. Inthis embodiment, the top splash plate 2020 is transparent.

As shown in FIGS. 19 and 20, I-beam 2001 has a longitudinal axis 2002, avertical height 2003, and a top surface 2005 having a width 2004. Asbest seen in FIG. 19, on the top surface 2005 a number of ground weldingsites 2007 have been produced, and welded studs 2006 have already beenwelded to some of the ground welding sites 2007. It should be understoodthat ferrules will be used on top of the ground welding sites 2007 inorder to encapsulate the molten weld pools during the arc weldingprocess, but that these ferrules are omitted from view in FIGS. 19 and20 for convenience.

As noted above, during operation the welding system 2010 of thisembodiment moves alongside and parallel to the longitudinal axis 2002 ofthe I-beam 2001. In this embodiment, a positionable carriage 2022comprising a Y-axis movement system 2033, an X-axis movement system2069, and a Z-axis movement system 2081 is used to physically locate thestud placement and welding assembly 2170 above the top surface 2005 ofthe I-beam 2001 so that studs (e.g., studs 2030 a,2030 b, see FIG. 23)can be individually welded to respective ground welding sites 2007. Inorder to protect the components of the positionable carriage 2022 whileon a job site and to reduce ambient light from interfering with thedetermination of the location of the ground welding sites 2007, anenclosure 2024 comprising a plurality of support beams (shown but notindividually labeled in FIG. 19) and a plurality of panels (hidden fromview in FIG. 19 in order to illustrate the components of thepositionable carriage 2022) is used. In this embodiment, the panels areplanar and removably attach to the respective one or more support beamsvia known fasteners. An imager support bracket 2026 forms a portion ofthe roof portion of the enclosure 2024. Imager support bracket 2026supports imager 2282 a from the top of the enclosure 2024. The imager2282 a will be discussed in greater detail below.

FIG. 20 is a top view of the welding system 2010. In FIGS. 20-28, allcomponents of the enclosure 2024 have been hidden from view forconvenience. As shown in FIG. 26, the imager 2282 a further comprises alens 2284 a attached thereto for enhancing the field of view 2286 of theimager 2282 a. The field of view 2286 of the imager 2282 a has acenterline. The imager 2282 a is attached to the imager support bracket2026 of the enclosure 2024 via an imager mount plate 2288 and an imagerspacer plate 2290 that spaces the imager 2282 a and lens 2284 a awayfrom the imager mount plate 2288 (see FIGS. 19 and 26). As seen in FIGS.23 and 26, the welding system 2010 may also comprise a second imager2282 b that is mounted to a sliding base plate 2036 of the Y-axismovement system 2033 via an imager mount 2292. Attached to the imager2282 b is a lens 2284 b that enhances the field of view (not shown) ofthe imager 2282 b. In this embodiment, a cover 2294 is provided over theimager 2282 b and lens 2284 b to protect these components. In thisembodiment, the imagers 2282 a,2282 b are Model No. UI-3370CP imagersproduced by IDS Imaging Development Systems GmbH of Obersulm, Germany,and the lenses 2284 a,2284 b are Model No. CF12.5HA-1 lenses produced byFUJIFILM Holdings Corporation of Tokyo, Japan, although other imagersand lenses would be suitable in alternate embodiments of the presentinvention.

The relevant portion of the field of view 2286 of the imager 2282 aencompasses all of that portion of the top surface 2005 of the I-beam2001 that is located below and within the perimeter of arectangular-shaped opening 2038 in the sliding base plate 2036. Althoughthe field of view 2286 of the imager 2282 a is larger than this area,the remainder of the image captured by the imager 2282 a is croppedbefore being used to calculate the locations of the ground welding sites2007. In this embodiment, the rectangular-shaped opening 2038 is sizedsuch that it is wider than the width 2004 of the I-beam 2001, and suchthat at least the side edges of the I-beam 2001 and a two-by-three gridof ground welding sites 2007 (or ground welding sites 2007 and ferrules,for example) is visible to the imager 2282 a within therectangular-shaped opening 2038 at one time. The imager 2282 a islocated directly above the center of the area of the rectangular-shapedopening 2038. Therefore, during operation, when the positionablecarriage 2022 is moved such that the imager 2282 a is approximatelycentered about the width 2004 of the I-beam 2001, the rectangular-shapedopening 2038 is likewise centered about the width 2004 of the I-beam,with the entire width 2004 of the I-beam 2001 visible to the imager 2282a within the rectangular-shaped opening 2038. It should be understoodthat, in alternate embodiments, the opening in the sliding base platemay have different shapes, for example square, circular, or oval, or maybe sized such that a greater or lesser number of ground welding sites2007 are typically visible to the imager 2282 a within the openingprovided in the sliding base plate.

FIG. 21 is a bottom view of the rectangular-shaped opening 2038, withthe imager 2282 a clearly visible centered above the rectangular-shapedopening 2038. In this embodiment, a pair of light sources 2068 a,2068 bare attached to the underside of the sliding base plate 2036 and areangled such that their light illuminates the top surface 2005 of theI-beam 2001 located within the rectangular-shaped opening 2038. Thelight provided by the light sources 2068 a,2068 b will increase theamount of light being reflected from the ground welding sites 2007,thereby enhancing the ability of the imager 2282 a to recognize thelocations of the ground welding sites 2007. In alternate embodiments,zero, one, or more than two light sources could be provided. In thisembodiment, the light sources 2068 a,2068 b are Model No. WLC60 lightbars produced by Banner Engineering Corporation of Minneapolis, Minn.,U.S.A., although other light sources would be suitable in alternateembodiments of the present invention.

For those ground welding sites 2007 on which a ferrule has been located,the inventors discovered that providing one or more oblique lightingsources, for example light sources 2068 a,2068 b, which are oriented atan angle that is not orthogonal to the top surface 2005 of the I-beam2001, enhanced the image of the ferrule that was collected by the imager2282 a because the quantity of light being reflected directly back intothe lens 2284 a off of the shiny, ground metal surface of the I-beam atthe ground welding site 2007 was minimized. This permitted the imager2282 a to more accurately locate the perimeter of the ground weldingsite 2007 and center of mass thereof. Therefore, preferably, at leastone oblique lighting source is provided to the top surface 2005 of theI-beam 2001. Most preferably, at least two oblique lighting sources areprovided to the top surface 2005 of the I-beam 2001.

Turning back to the present embodiment, and with reference particularlyto FIGS. 20 and 25-27, details of the Y-axis movement system 2033,X-axis movement system 2069, and Z-axis movement system 2081 will now bedescribed in detail. The Y-axis movement system 2033 comprises a mainslide mounting plate 2032 that is mounted to the frame 2014 of thetractor 2012, a pair of linear rail guides 2034 a,2034 b that aremounted to the main slide mounting plate 2032, the sliding base plate2036, a pair of linear motion systems 2042 a,2042 b that are eachmounted to the sliding base plate 2036 via a pair of mounting plates2044, and an X-axis base plate 2070 that is connected to the top sidesof the linear motion systems 2042 a,2042 b. The sliding base plate 2036is attached to the linear rail guides 2034 a,2034 b and moveable withrespect to the main slide mounting plate 2032 in order to partiallyprovide the necessary Y-axis positionability of the positionablecarriage 2022. The sliding base plate 2036 is provided with a pair ofside trusses 2040 a,2040 b for structural integrity. The linear motionsystems 2042 a,2042 b are each operably connected to a motor 2064 and agear assembly 2066, and act to provide linear motion to the X-axis baseplate 2070, thereby providing the remainder of the Y-axispositionability of the positionable carriage 2022. In this embodiment,the linear motion systems 2042 a,2042 b are belt-driven Model No. MF07Clinear motion systems produced by Thomson, a division of Danaher Motionof Radford, Va., U.S.A., although other linear motion systems aresuitable in alternate embodiments of the present invention. The motor2064 and gear assembly 2066 are connected together via a known type ofbelt housing, which is omitted from view in the figures for convenience.In this embodiment, the gear assembly 2066 is a Model No. AKM31 gearassembly produced by Danaher Motion of Radford, Va., U.S.A., althoughother gear assemblies would be suitable in alternate embodiments of thepresent invention. A moveable stop block 2046 is attached to theunderside of the side truss 2040 b of the sliding base plate 2036 andstationary stop blocks 2047 a,2047 b are attached to the upper surfaceof the main slide mounting plate 2032 in linear alignment with themoveable stock block 2046. The stop blocks 2046,2047 a,2047 bcollectively limit the range of motion of the sliding base plate 2036,and therefore of the positionable carriage 2022. Pin block 2050 is usedto connect the sliding base plate 2036 to the main slide mounting plate2032. A cable carrier 2060, which is attached between the main slidemounting plate 2032 and the X-axis base plate 2070, is used to supportand provide protection to the power and control cables for the motor2064 and the welding wire 2188, which are routed therethrough. In thisembodiment, the cable carrier 2060 is a Model No. Z16 cable carrierproduced by igus Inc. of East Providence, R.I., U.S.A., although othercable carriers would be suitable in alternate embodiments of the presentinvention. A cable carrier 2062, which is attached between the mainslide mounting plate 2032 and the sliding base plate 2036, is used tosupport and provide protection to the power and control cables for theimager 2282 b, which are routed therethrough. In this embodiment, thecable carrier 2062 is a Model No. Z06 cable carrier produced by igusInc. of East Providence, R.I., U.S.A., although other cable carrierswould be suitable in alternate embodiments of the present invention.

The X-axis movement system 2069 comprises the X-axis base plate 2070, apair of linear motion systems 2072 a,2072 b that are each mounted to theX-axis base plate 2070 via a pair of mounting plates 2074, and a Z-axisbase plate 2082 that is connected to the top sides of the linear motionsystems 2072 a,2072 b. The linear motion systems 2072 a,2072 b are eachoperably connected to a motor 2078 and a gear assembly 2080, and act toprovide linear motion to the Z-axis base plate 2082, thereby providingthe full range of X-axis positionability of the positionable carriage2022. In this embodiment, the linear motion systems 2072 a,2072 b arebelt-driven Model No. MF07C linear motion systems produced by Thomson, adivision of Danaher Motion of Radford, Va., U.S.A., although otherlinear motion systems are suitable in alternate embodiments of thepresent invention. The motor 2078 and gear assembly 2080 are connectedtogether via a known type of belt housing, which is omitted from view inthe figures for convenience. In this embodiment, the gear assembly 2080is a Model No. AKM31 gear assembly produced by Danaher Motion ofRadford, Va., U.S.A., although other gear assemblies would be suitablein alternate embodiments of the present invention. The range of motionof the Z-axis base plate 2082 is dictated by the lengths of the linearmotion systems 2072 a,2072 b. A cable carrier 2076, which is attachedbetween the X-axis base plate 2070 and the Z-axis base plate 2082, isused to support and provide protection to the power and control cablesfor the motor 2078 and the welding wire 2188, which are routedtherethrough. In this embodiment, the cable carrier 2076 is a Model No.Z16 cable carrier produced by igus Inc. of East Providence, R.I.,U.S.A., although other cable carriers would be suitable in alternateembodiments of the present invention.

The Z-axis movement system 2081 comprises the Z-axis base plate 2082, aZ-axis vertical plate 2083 that is mounted orthogonally to the Z-axisbase plate 2082, a linear motion system 2084 that is mounted to theZ-axis vertical plate 2083 via a pair of mounting plates 2085 a,2085 b,and a welding head mounting arm 2094 that is attached to the opposingside of the linear motion system 2084. Z-axis gussets 2086 a,2086 b andgusset support plates 2088 a,2088 b provide structural integrity to theZ-axis movement system 2081. The Z-axis gussets 2086 a,2086 b areattached to a leveling assembly 2230 (see FIG. 28), as will be describedin further detail below. A welding arm support truss 2096 is attachedorthogonally to the welding head mounting arm 2094, and providesstructural integrity thereto.

The linear motion system 2084 is operably connected to the motor 2092and acts to provide linear motion to the welding head mounting arm 2094,thereby providing the full range of Z-axis positionability of thepositionable carriage 2022. In this embodiment, the linear motion system2084 is a ball screw-driven Model No. TF06C linear motion systemproduced by Thomson, a division of Danaher Motion of Radford, Va.,U.S.A., although other linear motion systems are suitable in alternateembodiments of the present invention. The motor 2092 is attached to thetop end of the linear motion system 2084 by a known type of belthousing, which is omitted from view in the figures for convenience. Acable carrier 2090, which is attached between the Z-axis vertical plate2083 and the welding head mounting arm 2094, is used to support andprovide protection to the power and control cables for the motor 2092and the welding wire 2188, which are routed therethrough. In thisembodiment, the cable carrier 2090 is a Model No. Z16 cable carrierproduced by igus Inc. of East Providence, R.I., U.S.A., although othercable carriers would be suitable in alternate embodiments of the presentinvention.

It should be understood that all of the principles detailed above withrespect to the other embodiments of the present invention areapplicable, mutatis mutandis, to the present embodiment of the weldingsystem 2010, and that a person having ordinary skill in the art—havingread the present disclosure—would be capable of understanding how thepresent embodiment of the welding system 2010 functions. In thisembodiment, once the imager 2282 a has determined where the groundwelding sites 2007 (or ferrules) are located on the top surface 2005 ofthe I-beam 2001, this information is used to communicate to a studplacement and welding assembly 2170 precisely where studs should bewelded onto the I-beam 2001. In this embodiment, a stud feeding assembly2100 is used to feed studs to the stud placement and welding assembly2170 so that the studs may be welded onto the I-beam 2001. Employing theprinciples discussed above in detail, the location of the stud placementand welding assembly 2170 within the positionable carriage 2022 withrespect to the frame 2114 and the I-beam 2001 will be stored in one ormore data stores of a computer 2154, and this information will beutilized to make the appropriate calculations and communicate to motorcontrollers 2160 a-2160 c how the stud placement and welding assembly2170 is to be moved, via control of the Y-axis movement system 2033,X-axis movement system 2069, and Z-axis movement system 2081, in orderto bring the stud placement and welding assembly 2170 and studs (e.g.,stud 2030 a) into the correct location on the top surface 2005 of theI-beam 2001 for welding.

With particular reference to FIG. 22, a control station assembly 2140and the electronics systems of the welding system 2010 will now bedescribed in detail. In this embodiment, the control station assembly2140 comprises a control case 2142, a display screen 2144 that displaysthe image being captured by the imagers 2282 a,2282 b and permits theoperator to control other features of the welding system 2010 through avisual interface, a battery disconnect switch 2146, a pair of movementcontrols 2148 a,2148 b that are used to change the position of thetractor 2012, three input buttons 2150 which may be used to controlwelding operations and other features of the welding system 2010, and anemergency shutoff switch 2151 that will shut down the welding system2010 in the case of a failure or emergency. In this embodiment, thedisplay screen 2144 is a Model No. VT104XA4 display screen produced byVartech Systems Inc. of Clemmons, N.C., U.S.A., although other displayscreens would be suitable in alternate embodiments of the presentinvention. As can be seen in FIG. 22, six ground welding sites 2007 andaccompanying ferrules are visible on the display screen 2144,representing the portion of the field of view 2286 of the imager 2282 awithin the rectangular-shaped opening 2038.

In this embodiment, an enclosure 2152 is attached to the frame 2014below the control station assembly 2140. For purposes of convenience, afront cover of the enclosure 2152 is rendered transparent in FIG. 22.The enclosure 2152 contains the computer 2154, a motion controller 2156,an input/output module 2158, and four motor controllers 2160 a-2160 d.Motor controller 2160 a controls the Y-axis movement system 2033, motorcontroller 2160 b controls the X-axis movement system 2069, motorcontroller 2160 c controls the Z-axis movement system 2081, and motorcontroller 2160 d controls the hydraulic piston 2126 of the stud feedingassembly 2100. In this embodiment, the computer 2154 is a Model No.MXE-5300 computer produced by Adlink Technology, Inc., of New TaipeiCity, Taiwan, although other computers would be suitable in alternateembodiments of the present invention. In this embodiment, the motioncontroller 2156 is a Model No. MC464 motion controller produced by TrioMotion Technology Limited of Gloucestershire, United Kingdom, althoughother motion controllers would be suitable in alternate embodiments ofthe present invention. In this embodiment, the motor controllers 2160a-2160 d are Model No. AKD-P00606 motor controllers produced byKollmorgen of Radford, Va., U.S.A., although other motor controllerswould be suitable in alternate embodiments of the present invention.

An enclosure 2162 is attached to enclosure 2152 and comprises a weldingcable connector 2164, a pivotable welding cable connector block-off 2166for blocking off the welding cable connector 2164 when it is not in use,and a socket 2168. The welding wire 2188 is connected between thewelding cable connector 2164 and the stud gun 2172. A solenoid power andcontrol wire (not shown) is attached at one end to the socket 2168 andat the opposite end to the solenoid housing 2186. The solenoid power andcontrol wire is used to provide power to the solenoid and to trigger thestud gun 2172 to automatically perform a welding operation based on acommand received from the computer 2154 after a suitable ground weldingsite 2007 has been located. The solenoid power and control wire is, likethe welding wire 2188, routed through the cable carriers 2060,2076,2090.

With particular reference to FIGS. 22 and 23, in this embodiment thestud feeding assembly 2100 comprises a plurality of stud tubes 2106 thatare arranged in a circumferential relationship, such that the pluralityof stud tubes 2106 are arranged and can be rotated about a central axis2107 that runs through the center of the stud feeding assembly 2100. Theframe 2014 of the welding system 2010 comprises a stud rotator supportplate 2102 that supports the top ends of the plurality of stud tubes2106. The stud rotator support plate 2102 has a stud feed cutout 2104through which studs can be fed into the stud tube top opening 2108 ofthe one of the plurality of stud tubes 2106 that is aligned with thestud feed cutout 2104 at that time. Each of the plurality of stud tubes2106 has a stud tube bottom opening 2110 through which studs (e.g., stud2030 b) can be fed to the stud placement and welding assembly 2170. Thebottom ends of the plurality of stud tubes 2106 are supported by a studfeed bottom plate 2112 having a stud feed cutout 2114. The stud feedcutout 2114 corresponds in size with a single stud tube bottom opening2110. A single stud may exit the stud feeding assembly 2100 through thestud feed cutout 2114 at a time, according to which of the plurality ofstud tubes 2106 is aligned with the stud feed cutout 2114 at that time.The plurality of stud tubes 2106 are arranged parallel to each other andare oriented at an oblique angle (i.e., less than 90 degrees) withrespect to the top surface 2005 of the I-beam 2001. This obliquerelationship permits for studs to be fed to the stud placement andwelding assembly 2170 without obstructing the movement of the studplacement and welding assembly 2170. In this embodiment, the studfeeding assembly 2100 is manually rotated. In alternate embodiments, thestud feeding assembly 2100 may be electronically controlled to completea partial rotation, such that an adjacent stud feed tube 2106 may bebrought into alignment with the stud feed cutout 2114, so that studs maythen be fed out of said stud feed tube 2106.

The stud feeding assembly 2100 further comprises a V-plate 2116 having astud slot 2118 having a top opening 2120 therein that accommodates theinsertion of a stud (e.g., stud 2030 a) into the stud slot 2118. TheV-plate 2116 is attached to a loading mechanism support plate 2124—whichis a portion of the frame 2014 of the welding system 2010—via a pivotjoint 2122. An extension and retraction device, which in this embodimentis a hydraulic piston 2126 having a main body 2127 and an extendableshaft 2128, is attached at one end to the loading mechanism supportplate 2124 via a mounting bracket 2130 and at the other end to theV-plate 2116 via a clevis mount 2132. Extension and retraction of thehydraulic piston 2126 causes the V-plate 2116 to move between twoterminal positions: a stud loading position (see alternate positions2116′, 2128′, and 2132′ of the V-plate 2116, extendable shaft 2128, andclevis mount 2132, respectively) in which the stud slot 2118 is locatedadjacent to the stud tube bottom opening 2110 of one of the plurality ofstub tubes 2106 and aligned with said one of the plurality of stud tubes2106; and a stud unloading position in which the stud slot is notaligned with said one of the plurality of stud tubes 2106. In the studunloading position, the stud 2030 a is oriented orthogonally to the topsurface 2005 of the I-beam 2001, and is ready to be engaged by the studplacement and welding assembly 2170. A rotation stop block 2134, whichis attached to the loading mechanism support plate 2124, limits therange of motion of the V-plate 2116 in the retracted position of thehydraulic piston 2126. In this embodiment, extension and retraction ofthe hydraulic piston 2126 is controlled by a hydraulic valve (see FIG.29) which is electronically controlled by one of the four motorcontrollers 2160 d (see FIG. 22).

With particular reference to FIG. 24, the stud placement and weldingassembly 2170 according to the present invention will now be describedin detail. A solenoid mount 2185, which supports a solenoid housing2186, is mounted to the welding head mounting arm 2094. A guide block2184 is attached to the lower end of the solenoid housing 2186. Attachedbelow the guide block 2184 is a stud gun 2172, which comprises a stopwasher 2178, a collet bushing 2180 that is attached to a first end ofthe welding wire 2188 via a welding wire lug 2190, and a stud collet2182 that mates with a head 2031 of the stud 2030 a that is to bewelded. Both signal and sufficient power is transferred to the stud gun2172 via the welding wire 2188, and the stud gun 2172 acts to weld thestuds to the I-beam 2001 through a drawn arc welding process, as will beunderstood by one having ordinary skill in the art. As noted above, thewelding wire 2188 is routed through each of the cable carriers2090,2076,2060, and as noted below connects between the welding cableconnector 2164 and the stud gun 2172. A shock absorber 2192 (see FIG.22) is attached to a lower end of the welding head mounting arm 2094,and is used to reduce the speed of movement of the stud placement andwelding assembly 2170 as it engages a stud 2030 a with the top surface2005 of the I-beam 2001, in order that the molten weld pool within theferrule is not splashed or displaced outside of the ferrule.

Referring back to FIG. 24, the stud placement and welding assembly 2170further comprises a stud and ferrule holder 2200 having a ferruleadapter 2202, which is used to hold a ferrule in place on top of aground welding site 2007 on the top surface 2005 of the I-beam 2001. Thegeneral use of ferrules in stud welding applications is discussed abovein detail, and is known in the relevant art. The ferrule adapter 2202 issized and shaped to accommodate the placement of a ferrule at leastpartially therein. A pair of guide rods 2212 a,2212 b are each attachedto a respective guide rod attachment block 2214 a,2214 b via arespective knurled-end bolt 2216 a,2216 b. The guide rod attachmentblocks 2214 a,2214 b are connected through the guide block 2184 (thecover of which has been rendered transparent in FIG. 24 for convenience)via a ferrule holder shaft 2218, which is free to rotate about arotation axis 2220.

Attached to the stud and ferrule holder 2200 is an electromagnetassembly comprising an electromagnet support plate 2204. Theelectromagnet support plate 2204 supports an electromagnet support ring2206, an electromagnet 2208, and an electromagnetic insulator 2210having a concave, half-tubular profile that corresponds to, supports,and vertically aligns the cylindrical profile of the shaft portion ofthe stud 2030 a. Since the stud 2030 a is made of a ferrous metal (e.g.,steel), once the electromagnet 2208 is energized, the stud 2030 a ismagnetically drawn to the electromagnet 2208 and when the electromagnet2208 is brought in sufficient proximity to the stud 2030 a, the stud2030 a will be magnetically drawn out of the stud slot 2118 in theV-plate 2116 and held by the electromagnet 2208 against electromagneticinsulator 2210. In this embodiment, a block 2224 is attached to a sideof the guide block 2184, and a spring 2222 is connected to the top sideof the block 2224. The top end of the spring 2222 engages the bottomside of the guide rod attachment block 2214 b and the spring 2222 ispartially compressed when the electromagnetic insulator 2210 is broughtinto contact with the stud 2030 a. Due to the inherent restorative forcein the spring 2222, it will attempt to uncompress, thereby forcing theguide rod attachment block 2214 b away from the spring 2222, whichconsequently rotates the ferrule holder shaft 2218 about its rotationaxis 2220 so that the stud and ferrule holder 2200 moves away from theV-plate 2116 with the picked-up stud 2030 a attached to theelectromagnet 2208 via electromagnetic insulator 2210. In alternateembodiments, the ferrule holder could be rotated away from the V-plate2216 electronically using an attached solenoid. The stud placement andwelding assembly 2170 of the present invention thus uses theelectromagnet 2208 and rotatable stud and ferrule holder 2200 to movethe studs 2030 a,2030 b out of the stud feeding assembly 2100 and intoposition to be welded in contact with the top surface 2005 of the I-beam2001, while ensuring that the shaft of the stud 2030 a is alignedorthogonally with the top surface 2005 of the I-beam 2001. In alternateembodiments, a solenoid-driven plunger apparatus—for example theapparatus shown in FIG. 5—that automatically plunges into and fracturesthe ferrule after the weld process has been completed could be providedas part of the stud placement and welding assembly 2170.

With particular reference to FIG. 28, a leveling assembly 2230 of thepresent embodiment of the welding system 2010 will now be described indetail. In some welding applications, the adjacent corrugated panels maybe angled with respect to the plane of the top surface 2005 of theI-beam 2001 to which the studs 2030 a,2030 b are to be welded, such thatthe frame 2014 and positionable carriage 2022 of the welding system 2001lie in a second plane that is not parallel to the plane of the topsurface 2005 of the I-beam 2001. In some building applications, theangle of the plane of the corrugated panels relative to the plane of thetop surface 2005 of the I-beam may be as large as 10 degrees. Morecommonly, this angle is between 0 and 6.5 degrees. In order to accountfor this potential difference in angles so that the studs 2030 a,2030 bmay be consistently brought into orthogonal placement with the topsurface 2005 of the I-beam 2001, the welding system 2010 includes theleveling assembly 2230, which changes the angle of the Z-axis verticalplate 2083 and the attached stud placement and welding assembly 2170 inrelation to the Z-axis base plate 2082 about a pivot shaft 2246. In ahome position, the Z-axis vertical plate 2083 is orientedperpendicularly to the Z-axis base plate 2082.

In this embodiment, the leveling assembly 2230 comprises a motor 2236attached to a linear actuator 2232. The linear actuator 2232 has anextendable rod 2234 which can extend and retract based on a signalreceived from the attached motor 2236. One end of the linear actuator2232 is rotatably connected to the Z-axis gussets 2086 a,2086 b via ajoint, and the other end of the linear actuator 2232 is rotatablyconnected to the Z-axis base plate 2082 via a base clevis 2240 thatengages a base mount 2242. Pivot mounts 2248 a,2248 b are each connectedto the Z-axis base plate 2082 via respective bearing spacer plates 2252a,2252 b. The pivot mounts 2248 a,2248 b rotatably engage the pivotshaft 2246. Pivot shaft blocks 2250 a,2250 b are attached to the Z-axisvertical plate 2083 and also rotatably engage the pivot shaft 2246. Whenthe second plane is not parallel to the plane of the top surface 2005 ofthe I-beam 2001, the leveling assembly 2230 acts to change the anglebetween the Z-axis vertical plate 2083 and the Z-axis base plate 2082 sothat the attached stud placement and welding assembly 2170 is placed inan orthogonal relationship to the plane of the top surface 2005 of theI-beam 2001. In this embodiment, this leveling function is manuallyperformed by the operator of the welding system 2010. In alternateembodiments, a level sensor could be provided with the welding system2010 that automatically determines the difference in angle between thesecond plane and the plane of the top surface 2005 of the adjacentI-beam 2001, and automatically signals the leveling assembly to make thenecessary angular correction.

A schematic diagram showing the connections of the hydraulic systems ofthe welding system 2010 according to the present embodiment is providedin FIG. 29. For convenience, filters of the hydraulic systems areomitted from FIG. 29 and are not labeled in the remaining figures,though it would be understood by one having ordinary skill in the artthat appropriate fluid filters are preferably used. The hydraulicsystems include a hydraulic valve assembly 2254 which comprises anindividual proportional directional valve for operating each of the twohydraulic wheel motors 2017 a,2017 b and a third proportionaldirectional valve for operating the hydraulic piston 2126 (see FIG. 29).The three proportional directional valves are each in two-way fluid-flowcommunication with the respective component discussed above. In thisembodiment, the proportional directional valves are each Model No.KBDG4V5 valves produced by Eaton Corporation plc of Cleveland, Ohio,U.S.A., although other valves would be suitable in alternate embodimentsof the present invention. In this embodiment, a pressure-compensatedhydraulic piston pump 2277 is in fluid flow communication with ahydraulic fluid reservoir 2278 and an oil cooler 2260. In thisembodiment, the hydraulic piston pump 2277 is a Model No. 70422hydraulic piston pump produced by Eaton Corporation plc of Cleveland,Ohio, U.S.A., although other hydraulic piston pumps would be suitable inalternate embodiments of the present invention. In this embodiment, thehydraulic fluid reservoir 2278 is a Model No. VVR-400 hydraulic fluidreservoir produced by Smart Reservoir Inc. of Quebec City, Canada,although other hydraulic fluid reservoirs would be suitable in alternateembodiments of the present invention. In this embodiment, the hydraulicpiston pump 2277 is operably connected to the two proportionaldirectional valves for the hydraulic wheel motors 2017 a,2017 b and to alow pressure regulator 2279. The low pressure regulator 2279 is operablyconnected to the proportional directional valve for operating thehydraulic piston 2126. Each of the three proportional directional valvesof the hydraulic valve assembly 2254 and the low pressure regulator 2279is in fluid flow communication with the oil cooler 2260. As best seen inFIGS. 22 and 27, the hydraulic fluid reservoir 2278 is encased within aprotective cover 2280, which has been rendered transparent in thefigures for convenience.

Additional components of the welding system 2010 according to thepresent embodiment include an engine 2268, which is supported on theframe 2014 by a pair of engine mounts 2266 a,2266 b, a fuel tank 2262which is supported from the frame 2014 by a fuel tank support plate2264, a muffler 2270, a belt drive 2272, and a battery 2274 which isencased within a battery cover 2276. The battery cover 2276 has beenrendered transparent in the figures for convenience. In this embodiment,the engine 2268 is a Model No. PCH740 engine produced by Kohler Companyof Kohler, Wis., U.S.A., although other engines would be suitable inalternate embodiments of the present invention. In this embodiment, thefuel tank 2262 is a Model No. 271-004-NF fuel tank produced by JazProducts Inc. of Santa Paula, Calif., U.S.A., although other fuel tankswould be suitable in alternate embodiments of the present invention. Inthis embodiment, the battery 2274 is a DieHard Platinum Group Size 34Mbattery produced by Sears Brands, LLC of Hoffman Estates, Ill., U.S.A.,although other batteries would be suitable in alternate embodiments ofthe present invention.

A power inverter 2258 is encased within a protective inverter box 2256,which has also been rendered transparent in the figures for convenience.The power inverter 2258 is connected to the battery 2274 and convertsthe direct current (DC) voltage provided by the battery 2274 intoalternating current (AC) for use by the welding system 2010. In thisembodiment, the power inverter 2258 is a Model No. PV2000FC inverterproduced by TrippLite of Chicago, Ill., U.S.A., although other inverterswould be suitable in alternate embodiments of the present invention.Because the top splash plate 2020 is transparent in this embodiment, thestatus of the power inverter 2258 can be monitored without removing thetop splash plate 2020 from the frame 2014.

In the embodiments discussed above, one or more cameras/imagers are usedfor imaging the welding sites and ferrules and processing the image datato determine the location to place each stud and perform each weldingoperation. In additional embodiments according to the present invention,additional equipment and methods of determining the welding locationscould be employed, either singularly or in combination with any otherequipment or methods described herein, for example electromagneticradiation (e.g., RADAR and/or LIDAR (Light Distance And Ranging, laserscanning, or X-ray), ultrasonic radiation (sound waves), stereographictechniques using two or more cameras offset from one another,thermographic imaging, and any combination of the above-describedequipment and methods.

For example, an embodiment of a welding system 3010 according to thepresent disclosure that incorporates a stereoscopic imaging system isshown in FIGS. 30-34. In FIGS. 30-34, reference numerals relating to thewelding system 3010 have been increased by a value of 1,000 with respectto the embodiment of FIGS. 19-29 for elements that are identical orsubstantially similar between the two embodiments, and it should beunderstood that the disclosure above with respect to the embodiment ofFIGS. 19-29 applies, mutatis mutandis and without any unnecessaryrepetition herein, to the current embodiment of FIGS. 30-34.

In the embodiment of FIGS. 30-34, two imagers 3282 a and 3282 b aredownwardly and obliquely focused onto the welding area. It is noted thatstereoscopic imaging systems are well known in the art and are capableof resolving objects such as ferrules and welding sites. Imagers 3282 aand 3282 b are geometrically separated on opposite sides of therectangular-shaped opening 3038 in the sliding base plate 3036 andarranged to have a field of view 3286 that corresponds with the entirewelding area, while having the desired welding sites (e.g., welding site3007) in focus. Imagers 3282 a and 3282 b are in communication eitherwith computer 3155 via busses 3110 a and 3110 b, respectively replacingthe single imager 90 as shown in FIG. 33, or computer 1595 via busses1573 a and 1573 b, respectively replacing the single imager 1570 asshown in FIG. 34. The image acquisition systems 475 and 1651, as well asthe machine vision acquisition and analysis programs 550 and 1752, aremodified to accommodate the imagers 3282 a,3282 b and are configured asa stereoscopic imaging system.

Another example of a welding system 4010 according to the presentdisclosure that incorporates a LIDAR imaging system 4282 is shown inFIGS. 35 through 37 which comprises a scanning lidar imager 4282. InFIGS. 35-37, reference numerals relating to the welding system 4010 havebeen increased by a value of 2,000 with respect to the embodiment ofFIGS. 19-29 for elements that are identical or substantially similarbetween the two embodiments, and it should be understood that thedisclosure above with respect to the embodiment of FIGS. 19-29 applies,mutatis mutandis and without any unnecessary repetition herein, to thecurrent embodiment of FIGS. 35-37.

One manufacturer of a suitable LIDAR imaging systems is SICK Inc. ofMinneapolis, Minn. In this embodiment, the LIDAR imaging system 4282 isconfigured to repeatedly scan the entire welding area, producing a datapoint cloud comprising distances and various reflection intensitieswhich are used to determine both the welding sites and ferrules. In thisembodiment, LIDAR imaging system 4282 replaces the imager 90 of FIG. 6and the imager 1570 of FIG. 17. The image acquisition systems 475 and1651, as well as the machine vision acquisition and analysis programs550 and 1752 of FIGS. 7 and 18, respectively, are modified toaccommodate LIDAR imaging system 4282 and are configured for data pointcloud processing. LIDAR imaging system 4282 uses electromagneticradiation to determine the welding sites and ferrules and otherelectromagnetic based systems using different wavelengths of radiationsuch as RADAR, X-Ray and infra-red imaging systems may be substitutedfor the LIDAR imaging system 4282.

Yet another example of a welding system 5010 according to the presentdisclosure that incorporates ultrasonic transducers is shown in FIGS. 38and 39. In FIGS. 38 and 39, reference numerals relating to the weldingsystem 5010 have been increased by a value of 3,000 with respect to theembodiment of FIGS. 19-29 for elements that are identical orsubstantially similar between the two embodiments, and it should beunderstood that the disclosure above with respect to the embodiment ofFIGS. 19-29 applies, mutatis mutandis and without any unnecessaryrepetition herein, to the current embodiment of FIGS. 38 and 39.

FIGS. 38 and 39 illustrate a phased array of ultrasonic transducers 5020attached to an array support 5021 to form an ultrasonic imaging systemthat is attached to the carriage by conventional means. The array ofultrasonic transducers 5020 is positioned perpendicularly downward tothe top surface 5005 of the I-beam 5001 and arranged to have a field ofview of the entire welding area. Ultrasonic transducers 5020 may be usedto calculate distance differences between the top surface 5005 of theI-beam 5001 and the ferrules to determine ferrule locations. Theultrasonic imaging system replaces imager 90 in FIG. 6 and imager 1570in FIG. 17. The image acquisition systems 475 and 1651, as well as themachine vision acquisition and analysis programs 550 and 1752, aremodified in this embodiment to accommodate the ultrasonic imaging systemdata for processing ultrasonic phased data.

Although exemplary implementations of the herein described systems andmethods have been described in detail above, those skilled in the artwill readily appreciate that many additional modifications are possiblein the exemplary embodiments without materially departing from the novelteachings and advantages of the herein described systems and methods.Accordingly, these and all such modifications are intended to beincluded within the scope of the herein described systems and methods.The herein described systems and methods may be better defined by thefollowing exemplary claims.

1.-27. (canceled)
 28. A method for aligning a stud in an orthogonalrelationship to a planar top surface of a beam, the stud having acylindrical shaft, the method comprising: charging an electromagnetassembly so that it has magnetic properties, the electromagnet assemblycomprising an electromagnet and a half-tubular portion that mates withthe cylindrical shaft of the stud; moving the electromagnet assemblyinto contact with the cylindrical shaft of the stud so that the stud isattracted to the electromagnet assembly in an orientation in which thecylindrical shaft of the stud is aligned with the half-tubular portion;and moving the electromagnet assembly and attached stud so that a bottomend of the cylindrical shaft of the stud is placed in contact with theplanar top surface in an orthogonal relationship to the planar topsurface.
 29. (canceled)
 30. An apparatus adapted to maintain a shaft ofa stud in an orthogonal relationship with respect to a surface of a beamto which the stud will be welded, the apparatus comprising: anelectromagnet that may be energized such that the stud is magneticallydrawn towards the electromagnet; and an insulator that is locatedbetween the electromagnet and the stud when the stud is magneticallydrawn towards the electromagnet.
 31. The apparatus of claim 30, whereinthe insulator has a shape profile that complements a shape profile ofthe shaft of the stud.
 32. The apparatus of claim 31, wherein theinsulator has a half-tubular profile.